簡體   English   中英

C#無法寫入文件(“被其他進程使用”)?

[英]C# can not write to file (“being used by another process”)?

我希望有人可以向我解釋為什么會發生這種情況:)

當我使用下面的代碼時,它給出了錯誤“進程無法訪問文件'C:\\ test.txt',因為它正被另一個進程使用。”

我對C#很新,所以我不確定是怎么回事,提前謝謝!

String fileNameBefore = @"C:\\test.txt";

public void output(String hex)
{
    using (StreamWriter writer = new StreamWriter(fileNameBefore, true))
    {
        writer.Write(hex);
        writer.Close();
    }
}

在寫入之前關閉文本文件。 (不在代碼中......物理關閉文本文件)

在Windows Vista和Windows 7下,系統卷的根目錄(通常為C :)具有特殊保護:程序必須以完全管理員權限運行才能執行除創建或刪除非系統文件夾之外的任何操作。 程序不允許在那里創建文件。 為什么它說該文件正在被另一個進程使用? 我期待另一條消息,但我想這確實是原因......除非你有一些其他程序打開該文件並且對我們在上面看到的代碼的程序有足夠的權利。

通過檢入Windows任務管理器並查找進程名稱來確保正確關閉進程,如果通過單擊結束進程按鈕手動找到任何結束進程並再次嘗試。

如果這不起作用,請嘗試將文件路徑移動到可寫區域,例如桌面,因為馬里奧說根有保護。

還檢查文件是否未隱藏或寫保護

希望這有助於湯姆

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM