public void write(int b) throws IOException {
}
});
在 java 中能够被序列化的类必须先实现 Serializable 接口,
该接口没有任何抽象方法只是起到一个标记作用。
public class Test {
public static void main(String[] args) throws Exception {
//对象输出流
ObjectOutputStream objectOutputStream =
new ObjectOutputStream(new FileOutputStream(new File(“D://obj”)));
objectOutputStream.writeObject(new User(“zhangsan”, 100));
objectOutputStream.close();
//对象输入流
ObjectInputStream objectInputStream = new ObjectInputStream(new FileInputStream(new File(“D://obj”)));
User user = (User) objectInputStream.readObject();
System.out.println(user);
objectInputStream.close();
}
}
字节流读取的时候,读到一个字节就返回一个字节;
字符流使用了字节流读到一个或多个字节(中文对应的字节数是两个,在 UTF-8 码表中是 3 个字节)时。
先去查指定的编码表,将查到的字符返回。
字节流可以处理所有类型数据,如:图片,MP3,AVI视频文件,
而字符流只能处理字符数据,只要是处理纯文本数据,就要优先考虑使用字符流,除此之外都用字节流。
字节流主要是操作 byte 类型数据
,以 byte 数组为准,
主要操作类就是 OutputStream、InputStream字符流处理的单元为 2 个字节的 Unicode 字符,
分别操作字符、字符数组或字符串,而字节流处理单元为 1 个字节,操作字节和字节数组。
所以字符流是由 Java 虚拟机将字节转化为 2 个字节的 Unicode 字符