进阶day10-使用缓冲流复制文件(一次读写一个字节数组)
This commit is contained in:
52
javaSE-day10/src/com/inmind/buffered_stream01/Demo03.java
Normal file
52
javaSE-day10/src/com/inmind/buffered_stream01/Demo03.java
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
package com.inmind.buffered_stream01;
|
||||||
|
|
||||||
|
import java.io.*;
|
||||||
|
|
||||||
|
public class Demo03 {
|
||||||
|
|
||||||
|
//使用字节缓冲输入输出流复制一个文件,并计算出时间(一次读写一个字节数组)
|
||||||
|
public static void main(String[] args) throws IOException {
|
||||||
|
/*FileInputStream fis = new FileInputStream("D:\\io_test\\upload\\1.jpg");
|
||||||
|
FileOutputStream fos = new FileOutputStream("D:\\io_test\\upload\\2.jpg");*/
|
||||||
|
|
||||||
|
BufferedInputStream bis = new BufferedInputStream(new FileInputStream("D:\\io_test\\upload\\1.jpg"));
|
||||||
|
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("D:\\io_test\\upload\\3.jpg"));
|
||||||
|
|
||||||
|
byte[] bytes = new byte[1024];//读取到的字节数据保存到该数组中
|
||||||
|
int len ;//获取读取到的字节数据的长度
|
||||||
|
|
||||||
|
long start = System.currentTimeMillis();
|
||||||
|
|
||||||
|
while ((len = bis.read(bytes)) != -1) {
|
||||||
|
bos.write(bytes,0,len);
|
||||||
|
}
|
||||||
|
long end = System.currentTimeMillis();
|
||||||
|
|
||||||
|
System.out.println("使用字节流复制文件花费:"+(end- start));//3ms
|
||||||
|
|
||||||
|
bis.close();
|
||||||
|
bos.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//使用原始的字节输入输出流复制一个文件,并计算出时间(一次读写一个字节数组)
|
||||||
|
public static void method(String[] args) throws IOException {
|
||||||
|
FileInputStream fis = new FileInputStream("D:\\io_test\\upload\\1.jpg");
|
||||||
|
FileOutputStream fos = new FileOutputStream("D:\\io_test\\upload\\2.jpg");
|
||||||
|
|
||||||
|
byte[] bytes = new byte[1024];//读取到的字节数据保存到该数组中
|
||||||
|
int len ;//获取读取到的字节数据的长度
|
||||||
|
|
||||||
|
long start = System.currentTimeMillis();
|
||||||
|
|
||||||
|
while ((len = fis.read(bytes)) != -1) {
|
||||||
|
fos.write(bytes,0,len);
|
||||||
|
}
|
||||||
|
long end = System.currentTimeMillis();
|
||||||
|
|
||||||
|
System.out.println("使用字节流复制文件花费:"+(end- start));//8ms
|
||||||
|
|
||||||
|
fis.close();
|
||||||
|
fos.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user