Java 寫文件的4096緩沖字節(jié)
public static void copyFile(File sourceFile, File targetFile,Boolean preserveFileDate)
throws IOException {
<!-- ........-->
// 緩沖數(shù)組
byte[] b = new byte[4096];
int len;
while ((len = inBuff.read(b)) != -1) {
outBuff.write(b, 0, len);
}
<!-- ........-->
}
throws IOException {
<!-- ........-->
// 緩沖數(shù)組
byte[] b = new byte[4096];
int len;
while ((len = inBuff.read(b)) != -1) {
outBuff.write(b, 0, len);
}
<!-- ........-->
}
拿上面的代碼為例,一直以來, 看別人用java寫文件都是用4096字節(jié)的緩沖,之一在想為什么是4096呢, 網(wǎng)上查了一下資料,操作系統(tǒng)讀寫文件是以簇為原子操作的, 一般windows的NTFS系統(tǒng)的簇大小是4096,所以我想原因應(yīng)該是既然底層IO操作一次是4096個字節(jié)那么緩沖多了也沒意義,不會減少底層IO操作的次數(shù)。
這個想法有待考證。。。。。。
posted on 2009-05-31 15:19 licwei 閱讀(715) 評論(0) 編輯 收藏 所屬分類: Technology