我有复制文件的方法如下:无声错误复制文件时
public static void nioCopy(File source, File destination) {
FileInputStream fis = null;
FileOutputStream fos = null;
FileChannel input = null;
FileChannel output = null;
try {
fis = new FileInputStream(source);
fos = new FileOutputStream(destination);
input = fis.getChannel();
output = fos.getChannel();
input.transferTo(0, input.size(), output);
} catch (FileNotFoundException ex) {
Logger.getLogger(Utilities.class.getName()).log(Level.SEVERE, "Can't find either of input/output files.", ex);
} catch (IOException ex) {
Logger.getLogger(Utilities.class.getName()).log(Level.SEVERE, "Can't open either of input/output file for reading/writing", ex);
} finally {
try {
fis.close();
fos.close();
input.close();
output.close();
} catch (IOException ex) {
Logger.getLogger(Utilities.class.getName()).log(Level.SEVERE, "Error closing streams", ex);
}
}
}
而且我使用拷贝文件,但有时我得到一个无声的错误或不确定的行为或者我只是不知道如何解释一下,这是我所得到的:
这里是我的源:
-rw-r--r-- 1 nb9 team92 3.1G 2011-10-13 16:31 6443_6#5_1_6443_6#5_2.fastq.f.fq.gz
这里是目的地:
-rw-r--r-- 1 nb9 team92 2.0G 2011-10-13 16:49 6443_6#5_1_6443_6#5_2.fastq.f.fq.gz
我没有得到任何的异常而执行这个过程,并通过它的外观一切都应该是成功的,但后来当我开始解包文件获取:
java.io.EOFException的:意外结束ZLIB输入流
很明显,目标是1 gig关闭原始标记。
唯一的特点是这两个文件都在非常有繁忙的光泽文件系统有可能这是一些有趣的事情吗?
尝试赶上一个'Exception',看到什么出来,因为现在这不是一个'FileNotFoundException'或任何错误的' IOException'将会保持沉默。 – Toomai
另外,'transferTo'具有返回值。核实。 – Mat
问题:您确定目标文件系统可以处理大于2GB的文件吗?前一段时间我试着把一个大文件“加密”到一个FAT32 FS,但是拷贝没有完成,但是我没有收到任何错误。 – Augusto