三爷JaVaja
2017-06-09 11:49
public static void main(String[] args)throws IOException { String srcFile="D:\\imooc\\1.jpg"; String destFile="D:\\imooc\\2.jpg"; String destFile2="D:\\imooc\\3.jpg"; long start =System.currentTimeMillis(); IOUtil.CopyFileByBuffer(new File(srcFile), new File(destFile)); long end =System.currentTimeMillis(); System.out.println(end-start); long start2 =System.currentTimeMillis(); IOUtil.copyFile(new File(srcFile), new File(destFile2)); long end2 =System.currentTimeMillis(); System.out.println(end2-start2); }
缓冲区设置都是1024 为啥用byByte只用50ms 而Buffered要用10318ms
比如从一个缸往另一个缸中倒水,前者直接到,后者是有缓冲区的,相当于一个桶,然后往桶里加水,然后再往另一个缸中到。 字节数组最快(批量),有缓冲区的次之(一杯一杯加到桶里再将桶中的倒入缸中),一个字节一个字节最慢(相当于一杯一杯)。 太详细的有点啰嗦,将就看吧。
文件传输基础——Java IO流
133789 学习 · 1030 问题
相似问题