奇数文件不存在错误



我遇到了一个我无法捕捉到的错误,它不应该存在。

if (System.IO.File.Exists (PathToMyFile)) 
{
    try{
        FileStream fs = new FileStream(PathToMyFile, FileMode.Open, FileAccess.Read);
        BinaryReader br = new BinaryReader(fs);
        Byte[] bytes = br.ReadBytes((Int32)fs.Length);
        br.Close();
        fs.Close();
        myFile =Convert.ToBase64String  (bytes) ;
        }
    catch{}
    }

出于某种原因,有时我会遇到一个异常错误,即文件不存在,而它肯定存在。第一个"如果语句"甚至说它在那里,但当我试图打开文件时,有时会遇到一个巨大的应用程序崩溃,而捕获并没有"捕获"。

正如我所说,这是一个随机错误,大多数时候代码都是完美的,但偶尔似乎会出现应用程序停止工作的错误。

首先要确保关闭文件\流

所以你可以调用fs。Close()或使用

if (File.Exists(pathToMyFile))
{
   try
   {
      using (var fs = new FileStream(pathToMyFile, FileMode.Open, FileAccess.Read))
      {
         BinaryReader br = new BinaryReader(fs);
         Byte[] bytes = br.ReadBytes((Int32) fs.Length);
         br.Close();
         fs.Close();
         myFile = Convert.ToBase64String(bytes);
      }
   }
   catch
   {
      // Log exception
   }
}

其次,如果您需要以字符串形式读取文件,只需使用

if (File.Exists(pathToMyFile))
{
   try
   {
      myFile = File.ReadAllText(pathToMyFile);
   }
   catch
   {
      // Log exception              
   }
}

相关内容

  • 没有找到相关文章

最新更新