字节流复制文件,在(一) 中,一个一个字符的读取实在是太费劲,所以方法(二)中,加入了字节数组
另外数组的大小一般取1024,或者是1024的倍数。如:1024*3 ,1024*10 等等。
字节流复制文件
采用数组缓冲提高效率
字节数组
FileInputStream 读取字节数组
FileOutputStream 写字节数组
package cn.itcast.copy;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class Copy_1 {
public static void main(String[] args) {
long s = System.currentTimeMillis();
System.out.println(s);
FileInputStream fis = null;
FileOutputStream fos = null;
try{
fis = new FileInputStream("g:\\jdk.exe");
fos = new FileOutputStream("h:\\jdk.exe");
//定义字节数组,缓冲
byte[] bytes = new byte[1024*10];
//读取数组,写入数组
int len = 0;
while((len = fis.read(bytes))!= -1){
fos.write(bytes,0,len);
}
}catch(IOException ex){
System.out.println(ex);
throw new RuntimeException("文件复制失败!");
}finally{
try{
if(fos != null)
fos.close();
}catch(IOException ex){
throw new RuntimeException("释放资源失败!");
}finally{
try{
if(fis != null)
fis.close();
}catch(IOException ex){
throw new RuntimeException("释放资源失败!");
}
}
}
long e = System.currentTimeMillis();
System.out.println(e-s); //测试赋值文件用了多长时间 (毫秒级)
}
}