我遇到了幾個帖子,聲稱流不是可靠的數據結構,這意味着在所有情況下讀/寫操作都可能不會遵循。流可靠性
所以:
a)這個共識有什麼道理嗎?
b)若還等什麼在至極的情況下,讀/寫operaitions可能會失敗?
在流,我穿過,你可以通過讀/寫操作要高度重視循環,直到完整的理賠來了這樣的共識:
var bytesRead = 0;
var _packet = new byte[8192];
while ((bytesRead += file_reader.Read(_packet, bytesRead, _packet.Length - bytesRead)) < _packet.Length) ;
嗨,歡迎來到Stack Overflow。如果您遇到可以這樣或那樣的帖子,並在您的問題中提及這些帖子,請張貼指向這些帖子的鏈接,以便我們可以看到完整的上下文。也許這些帖子是錯誤的,也許有一些具體的案例,也許只是措辭是錯誤的。 – 2011-02-10 14:34:37
你有沒有提及你遇到的帖子?在正確的時間不在流上調用「Flush」可能會導致意外的結果,取決於您的場景,缺少斷電或類似的情況(並且流在這種極端情況下與其他任何情況一樣可靠),當數據被刷新時該流被關閉。 – 2011-02-10 14:35:46
請提供您找到的帖子的鏈接。我使用了`C#流可靠性`,而我發現的唯一一個帖子就是你的。 :)我編寫的代碼可以使用Stream對象處理多個Gigabyte大小的文件,而不會有任何問題。 – 2011-02-10 15:37:43