第一章 增强流
1、增强流 读取 BufferedReader
A. 构造 BufferedReader br = new BufferedReader(new FileReader("路径"));
B. 特有 String line = br.readLine(); //一次读取一行数据
2、增强流 写入 BufferedWriter
A. 构造 BufferedWriter bw = new BufferedWriter(new FileWriter("路径"));
B. 特有 bw.newLine(); //写入换行符,兼容不同操作系统
第二章 转换流
1、两个常用类
InputStreamReader //类(字节输入->字符输入)
OutputStreamWriter //类(字节输出->字符输出)
2、应用场景(与Buffered缓冲流搭配)
BufferedReader br = null;
br = new BufferedReader(new InputStreamReader(new FileInputStream("路径"),"编码"));
BufferedWriter bw = null;
bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("路径"),"编码"));
3、乱码问题
A.原因: 编码方式不统一会导致乱码问题
B.注意: 出现乱码后,千万不要修改,哪怕是一个空格,都会导致文件找不回
第三章 打印流
1、两个类
PrintStream //字节打印流
PrintWriter //字符打印流
2、打印流使用
A.创建对象
PrintWriter pw = new PrintWriter(new FileWriter("路径"));
B.特有方法
a.换行的方法
pw.println("自动换行");
b.开启自动刷新
PrintWriter pw = new PrintWriter(new FileWriter("路径"),true);
// true表示自动刷新,println,printf 或 format方法将刷新输出缓冲区
//备注: 不要和 自动追加混淆
第四章 序列化流
1、序列化两个流
ObjectInputStream Objetc obj = ois.readObject(); //对象读取
ObjectOutputStream oos.writeObject(new Student("张三",12)); //对象写入
2、注意实现
A. 需要实现 Serializable 接口的自定义类,才能完成序列化和反序列化读写
B. 生成序列化的 ID 保证对象的完整性
第五章 properties
1、继承关系
public class Properties extends Hashtable<Object,Object>
2、与IO结合方法
读取
void load(InputStream inStream)
void load(Reader reader)
写入
void store(OutputStream out, String comments)
void store(Writer writer, String comments)