package day20_IO;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
/*
* 需求:把D:\\test.avi复制到当前目录下的copy.avi中
*
* 字节流四种方式复制文件:
* 基本字节流一次读写一个字节 :耗时:328004ms
* 基本字节流一次读写一个字节数组:耗时:551ms
* 高效字节流一次读写一个字节:耗时:2187ms
* 高效字节流一次读写一个字节数组:耗时:177ms
* */
public class CopyMap4Demo {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
long start=System.currentTimeMillis();
//method1("D:\\test.avi","copy1.avi");
//method2("D:\\test.avi","copy2.avi");
//method3("D:\\test.avi","copy3.avi");
method4("D:\\test.avi","copy4.avi");
long end=System.currentTimeMillis();
System.out.println("RunTime:"+(end-start)+"ms");
}
//高效字节流一次读写一个字节数组
public static void method4(String srcString, String destString) throws IOException {
// TODO Auto-generated method stub
//创建对象
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(srcString));
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(destString));
byte[] bys=new byte[1024];
int len=0;
while((len=bis.read(bys))!=-1){
bos.write(bys, 0, len);
}
//释放资源
bis.close();
bos.close();
}
//高效字节流一次读写一个字节
public static void method3(String srcString, String destString) throws IOException {
// TODO Auto-generated method stub
//创建对象
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(srcString));
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(destString));
int by=0;
while((by=bis.read())!=-1){
bos.write(by);
}
//释放资源
bis.close();
bos.close();
}
//基本字节流一次读写一个字节数组
public static void method2(String srcString, String destString) throws IOException {
// TODO Auto-generated method stub
//创建对象
FileInputStream fis = new FileInputStream(srcString);
FileOutputStream fos = new FileOutputStream(destString);
byte[] bys=new byte[1024];
int len=0;
while((len=fis.read(bys))!=-1){
fos.write(bys, 0, len);
}
//释放资源
fis.close();
fos.close();
}
//基本字节流一次读写一个字节
public static void method1(String srcString, String destString) throws IOException {
// TODO Auto-generated method stub
//创建对象
FileInputStream fis = new FileInputStream(srcString);
FileOutputStream fos = new FileOutputStream(destString);
int by=0;
while((by=fis.read())!=-1){
fos.write(by);
}
//释放资源
fis.close();
fos.close();
}
}
Java的文件字节流FileInputStream/FileOutputStream实例
最新推荐文章于 2022-03-12 16:31:53 发布