我想創造出很多(100萬)的小文件儘快,這就是我現在做的事情:創建大量小文件的最佳方法?
for(long i = 0; i < veryVeryLong; i++){
using (var fs = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.None, 4096, FileOptions.None)) {
byte[] bytes = GetFileContent(i); // no matter
fs.Write(bytes, 0, bytes.Length);
}
}
能否加快?
UPDATE
roomaroo吧,我需要使用平行的,但我有我的功能相結合,並這有一個更好的結果。代碼:
Parallel.For(0, veryVeryLogn, (i) => {
using (var fs = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.None, 4096, FileOptions.None)) {
byte[] bytes = GetFileContent(i); // no matter
fs.Write(bytes, 0, bytes.Length);
}
});
你可以在東西平行。 – ChrisBint
不知道是否可以幫助你..但有一個命令行實用程序來創建文件..「fsutil文件創建新」 – 2GDev
因爲你使用C#,你可能想看看這個問題:http://stackoverflow.com/questions/8979686 /最快的方式來創建文件在C - 銳?rq = 1 –