缓冲流
概念: 带有缓冲区的流,先将数据读取到缓冲区,当缓冲区满了在写入目标文件中
作用: 减少写入次数,提高性能,减少对硬盘的损耗
1)字节缓冲流
实现代码:
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
public class TestBuffered1 {
public static void main(String[] args) throws Exception {
// 字节输入流
FileInputStream fis=new FileInputStream("C:\\Users\\Administrator\\Desktop\\1.txt");
// 字节输出流
FileOutputStream fos=new FileOutputStream("C:\\Users\\Administrator\\Desktop\\2.txt");
// 缓冲流
// 字节缓冲输入流
BufferedInputStream bis=new BufferedInputStream(fis);
// 字节缓冲输出流
BufferedOutputStream bos=new BufferedOutputStream(fos);
// 使用缓冲流读写:缓冲区
byte[] b=new byte[1024];
int i=bis.read(b);
while(i!=-1) {
bos.write(b, 0, i);
i=bis.read(b);
}
// 关闭流
bos.close();
fos.close();
bis.close();
fis.close();
}
}
2)字符缓冲流
实现代码:
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class TestBuffered2 {
public static void main(String[] args) throws Exception {
// 字符输入流
FileReader fr=new FileReader("C:\\Users\\Administrator\\Desktop\\1.txt");
// 字符输出流
FileWriter fw=new FileWriter("C:\\Users\\Administrator\\Desktop\\2.txt");
// 缓冲流
// 字符缓冲输入流
BufferedReader br=new BufferedReader(fr);
// 字符缓冲输出流
BufferedWriter bw=new BufferedWriter(fw);
// 使用缓冲流读写:缓冲区
String s=br.readLine();
while(s!=null) {
bw.write(s+"\n");
s=br.readLine();
}
// 关闭流
bw.close();
fw.close();
br.close();
fr.close();
}
}