package 学习资料.IO流;import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;/*** 数据流* 先写出后读取* 读写顺序一致* 顺序问题可以通过class建立相应的方法规范输入输出的顺序**/
public class _2_1_数据流Data {public static void main(String[] args) throws IOException {ByteArrayOutputStream baos = new ByteArrayOutputStream();DataOutputStream dos = new DataOutputStream(new BufferedOutputStream(baos));dos.writeUTF("这个写入的是字符串");dos.writeInt(18);//整数dos.writeBoolean(true);//boolen值dos.writeChar('c');//字符//dos.writeChars("这个也是字符串"); //这个没有对应的read所以不要用dos.flush();byte[] datas = ByteArray();DataInputStream dis =new DataInputStream(new BufferedInputStream(new ByteArrayInputStream(datas)));System.out.adUTF());System.out.adInt());System.out.adBoolean());System.out.adChar());}
}
package 学习资料.IO流;import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;public class _2_2_对象流Object {public static void main(String[] args) throws IOException, ClassNotFoundException {ByteArrayOutputStream baos = new ByteArrayOutputStream();ObjectOutputStream oos = new ObjectOutputStream(new BufferedOutputStream(baos));oos.writeUTF("这个写入的是字符串");oos.writeInt(18);oos.writeBoolean(true);oos.writeChar('c');//dos.writeChars("这个也是字符串"); //这个没有对应的read所以不要用oos.writeObject("字符串对象");oos.writeObject(new human(2020,"澎湃",6.5));oos.flush();byte[] datas = ByteArray();ObjectInputStream ois =new ObjectInputStream(new BufferedInputStream(new ByteArrayInputStream(datas)));System.out.adUTF());System.out.adInt());System.out.adBoolean());System.out.adChar());Object object = adObject();if(object instanceof String) System.out.println((String)object);object = adObject();if(object instanceof human ) { //instanceof 是比较是否是相同类human human = (human)object;System.out.A()bString()C());}//要注意的是就算读到想要的数据以后,也得把剩余数据读取出来oos = new ObjectOutputStream(new BufferedOutputStream(new FileOutputStream(sl")));oos.writeObject(object);oos.close();}
}
class human implements Serializable{//Serializable 是 对象流的通行证,该接口没有任何抽象方法,仅仅只是给底层判断是否可以给对象流写出的通行证/****///这么不要看 标识符private static final long serialVersionUID = -6508333476491846459Lint a;String bString;double c;public human(int a, String bString, double c) {super();this.a = a;this.bString = bString;this.c = c;}public int getA() {return a;}public void setA(int a) {this.a = a;}public String getbString() {return bString;}public void setbString(String bString) {this.bString = bString;}public double getC() {return c;}public void setC(double c) {this.c = c;}}
本文发布于:2024-01-29 19:00:36,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170652604017584.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |