缓冲流
缓冲流就是基本流的装饰,也就是功能加强。
一共有四种缓冲流
BufferedReader
BufferedWriter
BufferedInputStream
BufferedOutputStream
BufferedReader
该缓冲流有readLine方法,可以读一行字符。其原理就是该类中定义了一个数组,磁盘将读到的数据给内存,当读完一行内存再给cpu提高了效率。
BufferedReader例子
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.FileReader;
import java.io.FileWriter;
public class Demo1 {
public static void main(String[] args) throws IOException {
BufferedReader br=new BufferedReader(new FileReader("F:\\JavaCode\\Demo.java"));
BufferedWriter bw=new BufferedWriter(new FileWriter("F:\\jc\\Demo.txt"));
String line=null;
while((line=br.readLine())!=null){
bw.write(line);
bw.newLine();
bw.close(); //一定要刷新,不然数据无法写磁盘。这里用的close,在关闭之前会调用flush.
}
br.close();
}
}
BufferedInputStream复制图片
import java.io.*;
public class Demo2 {
public static void main(String[] args)throws IOException {
BufferedInputStream bi=
new BufferedInputStream(new FileInputStream("F:\\jc\\1.jpg"));
BufferedOutputStream bo=
new BufferedOutputStream(new FileOutputStream("F:\\jc\\2.jpg"));
byte[] line=new byte[1024];
while(bi.read(line)!=-1){
bo.write(line);
}
bo.close(); //写在循环外,不然数据大于1KB,在第一次循环就把流关闭了
bi.close();
}
}