缓冲流
缓冲流是对四个基本IO流的增强
BufferedInputStream 字节输入缓冲流
BufferedReader 字符输入缓冲流
BufferedOutputStream 字节输出缓冲流
BufferedWriter字符输出缓冲流
(一)使用字节缓冲流读取数据到程序
BufferedInputStream bis = new BufferedIntpuStream(new FileInputStream(路径));
bis.read();
bis.close();
(二)使用字节缓冲流写出数据到文件
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(路径));
bos.write(数据);
bos.close();
(三)字符缓冲流和基本用法
字符缓冲流和字符缓冲流的用法基本相同,只是读取和写入的是字符。
//读取字符
BufferedReader br = new BufferedReader(new FileReader(路径));
br.read();
br.close();
//写入字符
BufferedWriter bw = new BufferedWriter(new FileWriter(路径));
bw.write(数据);
bw.close();
(四)缓冲流的特殊用法
BufferedReader:
String readLine(); 读取一行数据
BufferedWriter:
void newLine(); 写一个换行符
转换流
InputStreamReader类构造方法
InputStreamReader(InputStream in) 创建一个使用默认字符集的InputStreamReader。
InputStreamReader(InputStream in, String charsetName) 创建一个使用命名字符集的InputStreamReader。
charsetName: gbk/utf8 (大小写均可)
InputStreamReader类构造方法
InputStreamReader(InputStream in) 创建一个使用默认字符集的InputStreamReader。
InputStreamReader(InputStream in, String charsetName) 创建一个使用命名字符集的InputStreamReader。
charsetName: gbk/utf8 (大小写均可)
(一)使用转换流读取指定编码的文本文件
InputStreamReader isr = new InputStreamReader(new FileInputStream(路径), "GBK/UTF8");
isr.read();
isr.close();
(二)使用转换流写入指定编码的文本文件
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(路径), "GBK/UTF8");
osw.write()
osw.close();
序列化流
ObjectOutputStream对象序列化流
ObjectInputStream对象反序列化流
(一)使用序列化流写出对象到文件
提前创建好一个基础的Student类
Student s = new Student("name", age);
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(路径));
oos.writeObject(s);
oos.close();
(一)使用反序列化流读取文件到程序中
提前创建好一个基础的Student类
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(路径));
Object obj = ois.readObject();
ois.close();