package ioDemo; import java.io.*; /** * IO流(字节流复制) * Created by lcj on 2017/11/2. */ public class bufferReadWrintDemo { //声明异常 public static void main(String[] args) throws IOException { // copy01(); copy02(); // copy03(); // copy04(); } //自定义缓冲区 public static void copy01() throws IOException { FileInputStream fileInputStream = new FileInputStream("D:\Project\IdeaProjects\test01_time\src\main\java\ioDemo\2.txt"); FileOutputStream fileOutputStream= new FileOutputStream("D:\Project\IdeaProjects\test01_time\src\main\java\ioDemo\1.txt"); //声明数组大小 byte[] buf01 = new byte[1024]; int len01 = 0 ; while ((len01 = fileInputStream.read(buf01) )!= -1) { fileOutputStream.write(buf01,0,len01);//将buf01中数据写入至len01中 } } //自定义缓冲区方法BufferedInputStream public static void copy02() throws IOException { FileInputStream fileInputStream = new FileInputStream("D:\Project\IdeaProjects\test01_time\src\main\java\ioDemo\2.txt"); BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream); FileOutputStream fileOutputStream= new FileOutputStream("D:\Project\IdeaProjects\test01_time\src\main\java\ioDemo\22.txt"); BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(fileOutputStream); byte[] buf02 = new byte[1024]; int len02 = 0 ; while ((len02 = bufferedInputStream.read(buf02)) != -1) { bufferedOutputStream.write(buf02,0,len02); bufferedOutputStream.flush(); //刷新缓冲区数据 } bufferedInputStream.close(); bufferedOutputStream.close(); } //不建议使用此方法,此方法按照字节读取,效率低 public static void copy03() throws IOException { FileInputStream fileInputStream = new FileInputStream("D:\Project\IdeaProjects\test01_time\src\main\java\ioDemo\2.txt"); FileOutputStream fileOutputStream= new FileOutputStream("D:\Project\IdeaProjects\test01_time\src\main\java\ioDemo\3.txt"); int len03 = 0; while ((len03 = fileInputStream.read()) != -1) { fileOutputStream.write(len03); } fileInputStream.close(); fileOutputStream.close(); } /// public static void copy04() throws IOException { FileInputStream fileInputStream = new FileInputStream("D:\Project\IdeaProjects\test01_time\src\main\java\ioDemo\2.txt"); FileOutputStream fileOutputStream= new FileOutputStream("D:\Project\IdeaProjects\test01_time\src\main\java\ioDemo\4.txt"); byte[] buf = new byte[1024]; int len = 0; while ((len = fileInputStream.read(buf)) != -1) { fileOutputStream.write(buf, 0, len); // System.out.println(new String(buf ,0 ,len)); } fileOutputStream.close(); fileInputStream.close(); } }