C#不能写入文件(“正在被另一个进程使用”)

本文关键字:进程 另一个 不能 文件 | 更新日期: 2023-09-27 18:21:59

我希望有人能向我解释为什么会发生这种情况:)

当我使用下面的代码时,它会给我错误"进程无法访问文件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();
    }
}

C#不能写入文件(“正在被另一个进程使用”)

在写入文本文件之前关闭文本文件。(不在代码中…物理关闭文本文件)

在Windows Vista和Windows 7下,系统卷的根目录(通常为C:)具有特殊保护:程序必须以完全的管理权限运行,才能执行除创建或删除非系统文件夹之外的任何操作。程序不允许在那里创建文件。为什么说该文件正被另一个进程使用?我期待着另一条消息,但我想这确实是原因。。。除非你有其他程序打开了该文件,并且对我们上面看到的代码有足够的权限。

通过签入windows任务管理器并查找进程名称来确保进程已正确关闭,如果发现任何结束进程,请单击"结束进程"按钮手动结束进程,然后重试。

如果这不起作用,请尝试将文件路径移动到可写区域,如桌面,因为正如mario所说,根有保护。

同时检查文件是否未隐藏或写保护

希望这有助于问候Tom