Java 寫文件的4096緩沖字節
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);
}
<!-- ........-->
}
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操作的次數。
這個想法有待考證。。。。。。
posted on 2009-05-31 15:19 licwei 閱讀(715) 評論(0) 編輯 收藏 所屬分類: Technology