缓冲流
一次flush() 就可以把之前的数据全部写入到文件中,并不会造成文件的覆盖
每次流使用完成之后要先释放流,即 fis.close();(每次施放流会默认先调用一次flush()写入方法,即flush()方法可以省略不写)
newLine() 换行
package com.yu.properties;
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class Demo01BufferedOutputStream {
public static void main(String[] args) throws IOException {
FileOutputStream fis = new FileOutputStream("D:\\123\\01.txt",false);
BufferedOutputStream bos = new BufferedOutputStream(fis);
bos.write("我把数据写入到内部缓冲中".getBytes());
bos.write("缓冲冲冲冲中".getBytes());
bos.flush();
bos.close();
fis.close();
}
}
序列化与反序列化(类对象的写入和读取)
被static修饰的成员变量不能被序列化,
被transient修饰的成员变量不能被序列化(如密码等,不需要序列化到本地,保护隐私)
序列化的都是对象,
想要把序列化对象写入到文件中,这个对象所属的类要先实现序列化接口
序列化与反序列过程中,如果没有显示定义SerializableUID(序列化ID),那么系统将根据类啊,包啊, 项目啊,一系列因素,生成UID,且每次对类做出修改,相对应的UID都会改变.
(当然也可以在idea中经过设置,让idea帮助生成UUID来帮助系列化,到时候会在一票小知识的文章中说明)
如果不想使UID改变,可以进行显示赋值 例
private static final long serialVersionUID = 369L;