进程无法访问仅由我自己的应用程序使用的锁定文件

时间:2013-03-08 01:38:18

标签: c# .net file-io

当我尝试写入临时文件时,我一直收到以下错误:

  

该进程无法访问该文件   'C:\ Users \ jdoe \ AppData \ Local \ Temp \ jdoe.tmp'因为正在使用它   通过另一个过程。

这些是对文件执行任何操作的唯一方法:

private void LoadData(string filePath)
{
    if (!File.Exists(filePath))
    {
        File.Create(filePath);
        return;
    }

    var fileDetails = new FileInfo(filePath);
    if (fileDetails.Length > 0)
    {
        using (var fileStream = new FileStream(filePath, FileMode.Open))
        {
            // Do stuff...
            fileStream.Close();
        }
    }
}

private void SaveData(string filePath)
{
    using (var fileStream = new FileStream(filePath, FileMode.Create))
    {
        // Do stuff...
        fileStream.Close();
    }
}

什么是锁定文件?

2 个答案:

答案 0 :(得分:0)

结果File.Create(filePath)返回FileStream,需要关闭。只需将File.Create()更改为此<:p>即可消除错误

if (!File.Exists(filePath))
{
    File.Create(filePath).Close();
    return;
}

答案 1 :(得分:-1)

你必须删除代码的第一个块..

因为你写的时候..如果文件不在那里它会创建文件,或者如果文件已经存在那么它应该附加..