使用字节缓冲流读取数据到程序
BufferedInputStream in = new BufferedInputStream(new FileInputStream("abc.txt"));
使用起来和一般的字节输入流基本没有差别。
使用字节缓冲流写出数据到文件
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream("xxx.txt"));
使用起来和一般的字节输出流也没有什么差别。
明确字符缓冲流的作用和基本用法
缓冲字符输入流:BufferedReader br = new BufferedReader(new FileReader("xxx.txt"));
缓冲字符输出流:BufferedWriter bw = new BufferedWriter(new FileWriter("yyy.txt"));
这两个缓冲的流,和普通的FileWriter/FileReader是所有基本一样。
使用缓冲流的特殊功能
BufferedWriter有一个换行的方法:newLine()
BufferedReader有一个读取一行的方法:readLine()
代码:
String line;
while ((line = br.readLine()) != null) {
// …
}
阐述编码表的意义
字符集:数字和文字之间的对照关系表。例如ASCII、Unicode。
编码:几个字节以什么样的方式组织起来表示一个字符集当中的数字,这种规则叫做编码。
Unicode是字符集,对应的编码是UTF-8,或者其他。
使用转换流读取指定编码的文本文件
InputStreamReader reader = new InputStreamReader(new FileInputStream("xxx.txt"), "GBK");
后面的使用和字符流没有区别。
使用转换流写入指定编码的文本文件
OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream("xxx.txt"), "UTF-8");
后面的使用和字符流没有区别。
打印流的特点
特点:使用方便。
构造方法:
public PrintStream(String filename):参数代表文件路径名。
常用方法:
public void println(任意数据):换行
public void print(任意数据):不换行
改变导向:
System.setOut(PrintStream out):将默认的控制台打印输出,换成指定的流向。
使用序列化流写出对象到文件
ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("xxx"));
out.writeObject(obj);
使用反序列化流读取文件到程序中
ObjectInputStream in = new ObjectInputStream(new FileInputStream("xxx"));
Object obj = in.readObject();