InputStream:定义了字节输入流的抽象类
OutputStream:定义了字节输出流的抽象类;该类所有方法返回void值
FileInputStream:继承InputStream
FileOutputStream:继承OutputStream
package com.tanlei.InputOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;public class FileInputOutputStream { public static void main(String[] args) { try { FileUtil.copyFile(new File("C:\\zhangsan\\tanlei.txt"), new File("D:\\zhangsan.txt")); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }}}class FileUtil{ public static void copyFile(File src,File dst) throws IOException { FileInputStream fis=new FileInputStream(src); FileOutputStream fos=new FileOutputStream(dst); long time=System.currentTimeMillis(); int data=-1; while ((data=fis.read())!=-1) { fos.write(data); } fos.close(); long time2=System.currentTimeMillis(); System.out.println("共花费+"+(time2-time)); }}
缓冲区优化
read(byte[] b) 方法
byte[] buf=new byte[1024*1024];//创建一个1M大小的缓冲区,用来存放输入流中的字节数 long time=System.currentTimeMillis(); int data=0;//用来保存实际读到的字节数 while ((data=fis.read(buf))!=-1) { fos.write(buf,0,data); } fos.close(); long time2=System.currentTimeMillis(); System.out.println("共花费+"+(time2-time));