奇数文件不存在错误

时间:2016-07-25 12:14:39

标签: c# android file xamarin

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

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{}
    }

出于某种原因,有时我得到一个异常错误,当文件肯定存在时,该文件不存在。第一个“If语句”甚至说它还在那里,当我试图打开文件时,我有时会遇到一个大规模的应用程序崩溃,捕获不会“捕获”。

就像我说的那样,这是一个随机错误,大部分时间代码都是完美的,但奇怪的情况似乎会引发一个错误,即应用程序停止工作。

1 个答案:

答案 0 :(得分:0)

首先要确保关闭文件\ stream

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

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

其次,如果您需要将文件作为字符串读取,只需使用

    new AlertDialog.Builder(this)
    .setTitle(R.string.home_title)
    .setMessage(R.string.you_are_on_home_page)
    .setNeutralButton(R.string.btn_ok,  new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which){
            //Do Nothing
        }
    }).show();