c# 正由另一進程使用,因此該進程無法訪問此文件

針對文件的處理會出現該進程無法訪問此文件,細查原因文件處理沒有及時關閉流,這種情況會導致程文件被佔用。

看以下代碼的問題

			var filePath = "word.txt";
            if (!File.Exists(filePath))
            {
                File.Create(filePath);
            }

            var words = "";

            using (var r = new StreamReader(filePath))
            {
                words = r.ReadToEnd();
                Console.WriteLine(words);
            }

            using (var w = new StreamWriter(filePath))
            {
                w.WriteLine("some test words");
            }

內容不多,確實有問題,關鍵是針對的 File.Create(filePath);這行代碼,雖然文件是創建了,但是創建文件返回的是FileStream,這個類型繼承於stream,所以問題就在這了。創建完成後需要做的事情是就它關閉 close(),否則一方面會造成內存泄露,同時也會如果標題一樣的結果

正由另一進程使用,因此該進程無法訪問此文件
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章