复习IO写了个文件复制的方法,但是为什么复制多少MB的时候出错啊,300多M的,但是他只说250M~~
请高手解答
package com.file.in;
import java.io.*;
import java.util.Date;
public class Inputstream {
public static void main(String[] args) throws IOException {
String goalPath="g:"+File.separator+"Movie"+File.separator+"黑水1.rmvb";
String sourePath="g:"+File.separator+"Movie"+File.separator+"黑水.rmvb";
Inputstream.copyFile(sourePath, goalPath);
}
//复制一个文件的方法
public static void copyFile(String sourePath,String goalPath){
try {
//定义开始的时间
Date sDate=new Date();
long startDate=sDate.getTime();
System.out.println("开始的时间是:"+sDate);
OutputStream ops=new FileOutputStream(new File(goalPath));//输出流
BufferedOutputStream bops=new BufferedOutputStream(ops);
InputStream ips=new FileInputStream(new File(sourePath));//输入流
BufferedInputStream bips=new BufferedInputStream(ips);
byte[] b=new byte[1024];
int len;
int temp = 0;
while ((len=ips.read(b))!=-1) {
bops.write(b, 0, len);//字符串,偏移量,字符数
temp=len;
temp++;
}
bops.flush();
//结束的时间
Date eDate=new Date();
long endDate=eDate.getTime();
long allTime=endDate-startDate;
System.out.println("结束的时间是"+eDate+",总共用了"+allTime+"毫秒");
System.out.println("复制成功,总共复制了"+temp+"MB" );
} catch (IOException e) {
e.printStackTrace();
}
}
}