使用拷贝文件测试(BufferedInputStream,FileInputStream)

Posted tc310

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用拷贝文件测试(BufferedInputStream,FileInputStream)相关的知识,希望对你有一定的参考价值。


package
com.demo; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class CopyFileDemo { public static void main(String[] args) { long beginTime = System.currentTimeMillis(); copyFileBuffer(); long endTime = System.currentTimeMillis(); System.out.println("Buffered拷贝所花的时间:"+(endTime-beginTime)+"毫秒"); long beginTime1 = System.currentTimeMillis(); copyFile(); long endTime1 = System.currentTimeMillis(); System.out.println("FileIn/Out拷贝所花的时间:"+(endTime1-beginTime1)+"毫秒"); } public static void copyFileBuffer(){ // File file= new File("G:/MP4视频"); // file.mkdir(); try { BufferedInputStream bin = new BufferedInputStream(new FileInputStream("G:/install/ISO/XLJS_GHOST_XP_SP3_FT_2.0.iso")); BufferedOutputStream bout = new BufferedOutputStream(new FileOutputStream("H:/TEST/1.iso")); byte[] bt = new byte[8192]; int n=0; while ((n=bin.read(bt))!=-1) { bout.write(bt, 0, n); } bout.flush(); bin.close(); bout.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public static void copyFile(){ try { FileInputStream fin = new FileInputStream("G:/install/ISO/XLJS_GHOST_XP_SP3_FT_2.0.iso"); FileOutputStream fout=new FileOutputStream("H:/TEST/2.iso"); byte[] by = new byte[8192]; int len = 0; while ((len=fin.read(by))!=-1) { fout.write(by, 0, len); } fout.flush(); fout.close(); fin.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }

测试结果:文件大小:700M,用Buffered拷贝有时候反而比不用缓存拷贝还慢

有时候还是使用缓存快点,但是不是特别明显

技术分享图片

技术分享图片

 


以上是关于使用拷贝文件测试(BufferedInputStream,FileInputStream)的主要内容,如果未能解决你的问题,请参考以下文章

以字符串形式读取文件

Golang高效地拷贝big.Int

Jenkins运行完Test后,把ngreport生成的测试报告 拷贝到相应的文件夹

分享一个实用的文件同步工具!

如何把一个服务器上的文件,拷贝到另一个服务器上

怎么使用psftp 命令拷贝文件