缓冲流
字节缓冲流 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(); }