我有複製文件的方法如下:無聲錯誤複製文件時
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