无法访问已打开和关闭的文件

时间:2014-12-18 13:19:40

标签: c# file

通过我的应用程序,我打开一个文本文件,阅读它,然后关闭它。 然后,手动访问该文件受到限制。 我该如何解决?

这是我的代码:

fs = new FileStream(@"C:\Weather\somePlace.json", FileMode.Open, FileAccess.Read,  FileShare.ReadWrite);
using (StreamReader streamReader = new StreamReader(fs))      
{
    String responseData = streamReader.ReadToEnd();   

    //Deserialize the json output
    var outObject = JsonConvert.DeserializeObject<RootObject>(responseData);

    // do something with the information

    fs.Close();
    fs = null;
}

谢谢!

2 个答案:

答案 0 :(得分:0)

由于FileStreamIDisposable,因此应在使用后进行处理。

然后将其包装到using以确保文件将被释放:

using(fs = new FileStream(@"C:\Weather\somePlace.json", FileMode.Open, FileAccess.Read,  FileShare.ReadWrite))
{
   // the rest of your code
}

答案 1 :(得分:0)

您实际上不需要FileStream。你可以使用它:

using (StreamReader streamReader = new StreamReader(@"C:\Weather\somePlace.json"))      
{
    String responseData = streamReader.ReadToEnd();   

    //Deserialize the json output
    var outObject = JsonConvert.DeserializeObject<RootObject>(responseData);

    // do something with the information
}