c# 具有 FileStream 類并包裝 OS 文件句柄。FileStream 具有析構函數,考慮我們從 FileStream 獲取實例并忘記它,如果沒有任何引用,GC 必須調用它的析構函數并釋放 OS 文件句柄,那么為什么它不會發生,直到我自己調用它的處置或應用程序終止?
2 回答

MMTTMM
TA貢獻1869條經驗 獲得超4個贊
FileStream 實現了 IDisposable,這意味著您必須調用 Dispose。請參閱上一個問題我需要處置 FileStream 對象嗎?
MS自己告訴你這個https://learn.microsoft.com/en-us/dotnet/api/system.io.filestream?view=netframework-4.7.2
最簡單的方法是使用“使用”語句
using (FileStream fs = File.Create(path))
{
AddText(fs, "This is some text");
AddText(fs, "This is some more text,");
AddText(fs, "\r\nand this is on a new line");
AddText(fs, "\r\n\r\nThe following is a subset of characters:\r\n");
for (int i=1;i < 120;i++)
{
AddText(fs, Convert.ToChar(i).ToString());
}
}

不負相思意
TA貢獻1777條經驗 獲得超10個贊
- 2 回答
- 0 關注
- 118 瀏覽
添加回答
舉報
0/150
提交
取消