public static void copyFile(File sourceFile, File targetFile,Boolean preserveFileDate)
throws IOException {
<!-- ........-->
// 緩沖數組
byte[] b = new byte[4096];
int len;
while ((len = inBuff.read(b)) != -1) {
outBuff.write(b, 0, len);
}
<!-- ........-->
}
拿上面的代碼為例,一直以來, 看別人用java寫文件都是用4096字節的緩沖,之一在想為什么是4096呢, 網上查了一下資料,操作系統讀寫文件是以簇為原子操作的, 一般windows的NTFS系統的簇大小是4096,所以我想原因應該是既然底層IO操作一次是4096個字節那么緩沖多了也沒意義,不會減少底層IO操作的次數。
這個想法有待考證。。。。。。