缓冲流

字节缓冲流
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class Demo06 {
    public static void main(String[] args) throws IOException {
        //method1();//写入指定文件
        //method2();//读取指定文件
        copy1();//复制文件
        //copy2();//加Buffered复制文件
    }
字节缓冲输出流BufferedOutputStream
    //字节输出缓冲流
    public static void method1() throws IOException{
        //明确目的地
        FileOutputStream fos=new FileOutputStream("E:\java\demo.txt");
        //加入缓冲流
        BufferedOutputStream bos=new BufferedOutputStream(fos);
        bos.write(100);
        //释放资源
        bos.close();
    }
字节缓冲输入流 BufferedInputStream
    //字节输入缓冲流
    public static void method2() throws IOException{
        //明确目的地
        FileInputStream fis=new FileInputStream("E:\java\demo.txt");
        //加入缓冲流
        BufferedInputStream bis=new BufferedInputStream(fis);
        int len=0;
        while((len=bis.read())!=-1){
            System.out.println((char)len);
        }
        //释放资源
        bis.close();
    }
    //单个字节文件复制需要多长时间
    public static void copy1() throws IOException{
        FileInputStream fis=new FileInputStream("E:\java\apache-tomcat-7.0.52(x86).zip");
        FileOutputStream fos=new FileOutputStream("E:\java\a\apache-tomcat-7.0.52(x86).zip");
        long time1=System.currentTimeMillis();
        int len=0;
        while((len=fis.read())!=-1){
            fos.write(len);
        }
        long time2=System.currentTimeMillis();
        System.out.println(time2-time1);
        fis.close();
        fos.close();
    }
    //单个字节文件复制需要多长时间   加Buffered
    public static void copy2() throws IOException{
        FileInputStream fis=new FileInputStream("E:\java\apache-tomcat-7.0.52(x86).zip");
        BufferedInputStream bis=new BufferedInputStream(fis);
        FileOutputStream fos=new FileOutputStream("E:\java\a\apache-tomcat-7.0.52(x86).zip");
        BufferedOutputStream bos=new BufferedOutputStream(fos);
        long time1=System.currentTimeMillis();
        int len=0;
        while((len=bis.read())!=-1){
            bos.write(len);
        }
        long time2=System.currentTimeMillis();
        System.out.println(time2-time1);
        bis.close();
        bos.close();
    }
}
字符缓冲流
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class Demo07 {
    public static void main(String[] args) throws IOException {
        method1();//字符文件写入
        method2();//字符文件读出
        method3();//字符文件读出
        copy();//文件复制
    }
字符缓冲输出流 BufferedWriter
    public static void method1() throws IOException{
        //明确目的地
        FileWriter fw=new FileWriter("E:\java\demo01.txt");
        //加缓冲流
        BufferedWriter bw=new BufferedWriter(fw);
        //写入文件
        bw.write("打盹啊");
        bw.newLine();//换行
        bw.flush();
        bw.write("真的");
        bw.flush();
        bw.write("不骗你");
        bw.close();
    } 
字符缓冲输入流 BufferedReader
    public static void method2() throws IOException{
        //明确数据源
        FileReader fr=new FileReader("E:\java\demo01.txt");
        //添加缓冲流
        BufferedReader br=new BufferedReader(fr);
        //开始读取文件
        String line=br.readLine();
        System.out.println(line);
        line=br.readLine();
        System.out.println(line);
        line=br.readLine();
        System.out.println(line);
        line=br.readLine();
        System.out.println(line);
        br.close();
    }
    public static void method3() throws IOException{
        //明确数据源
        FileReader fr=new FileReader("E:\java\demo01.txt");
        //添加缓冲流
        BufferedReader br=new BufferedReader(fr);
        //开始读取文件
        String line="";
        while((line=br.readLine())!=null){
            System.out.print(line);//只读内容不读换行
        }
        br.close();
    }
复制文件
    public static void copy() throws IOException{
        //明确数据源
        FileReader fr=new FileReader("E:\java\demo01.txt");
        BufferedReader br=new BufferedReader(fr);
        //明确目的地
        FileWriter fw=new FileWriter("E:\java\d.txt");
        BufferedWriter bw=new BufferedWriter(fw);
        //开始复制
        String line="";
        while((line=br.readLine())!=null){
            bw.write(line);
            bw.newLine();
            bw.flush();
        }
        br.close();
        bw.close();
    }
原文地址:https://www.cnblogs.com/zhaotao11/p/10248171.html