是否有任何性能或下面的代碼之間OS的文件系統權限什麼樣的效果:System.IO效果
FileStream fs = new FileStream(@"file.dat", FileMode.Create, FileAccess.Write);
// and
FileStream fs = File.Create(@"file.dat");
PS:除了靜態函數問題的用法。
是否有任何性能或下面的代碼之間OS的文件系統權限什麼樣的效果:System.IO效果
FileStream fs = new FileStream(@"file.dat", FileMode.Create, FileAccess.Write);
// and
FileStream fs = File.Create(@"file.dat");
PS:除了靜態函數問題的用法。
根據反射器,File.Create(path)
只是:
new FileStream(path, FileMode.Create, FileAccess.ReadWrite, FileShare.None, 4096, FileOptions.None);
和new FileStream(@"file.dat", FileMode.Create, FileAccess.Write)
也得到4096緩衝器 - 所以沒有,它僅僅是FileAccess.ReadWrite
而不同。
我不認爲FileAccess.Write
比FileAccess.ReadWrite
好得多,因爲它們都鎖定了文件 - 但我可能是錯的。
評論:因爲FileShare
設置爲None
,它是寫你想要他們正確(=我不知道肯定)訪問沒有多大的差別。但是,如果你想Read
訪問new FileStream(path, mode, access)
的方法是不同的,因爲FileShare
設置爲Read
作爲默認值。然而,在這種情況下,你想創建一個文件,因此它只是閱讀沒有多大意義;-)
如果我沒有記錯,File.Create("file.dat")
只是打電話給new FileStream("file.dat", FileMode.Create, FileAccess.ReadWrite)
。
您正確回憶,謝謝,但我試圖到達其他地方.. – Unavailable 2010-08-21 00:15:11
好吧,我反編譯在提出問題之前,還有反射代碼..但我想知道在操作系統端FileAccess.Write和FileAccess.ReadWrite方法之間是否存在任何性能差異? (我剛剛遇到了Win7文件系統的問題,這就是爲什麼我要問......) – Unavailable 2010-08-21 00:10:38
@Bora看到更新:-)雖然不是真的想要你的期待。 – 2010-08-21 00:35:28
無論如何,謝謝你的澄清:) – Unavailable 2010-08-21 01:18:52