本帖最后由 cro 于 2012-6-3 09:39 编辑
黑马11期李项京 发表于 2012-6-2 23:15
fis.available()该方法的意思是文件有多大,就取多少,如果电影太大的,就会造成内存不够,所以会报错。
1 ...
多谢提示!不过楼上这个程序有点小问题!我修改过后的程序:
import java.io.*;
//文件复制
public class CopyFile {
public static void main(String[] args) throws Exception {
File f = new File("E:\\move\\ky.rmvb"); // 原始文件
if (f.isFile() == true) {
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(f));
System.out.println(bis.available());
byte[] buf = new byte[1024];
File f2 = new File("E:\\ordrd.txt"); // 复制后的文件
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(f2));
int i;
while((i = bis.read(buf)) != -1){
bos.flush();//强制写出
bos.write(buf,0,i);
}
bis.close();
bos.close();
} else {
System.out.println("这不是个文件!");
}
}
} |