我遇到了一个我无法捕获的错误,它不应该存在。
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语句”甚至说它还在那里,当我试图打开文件时,我有时会遇到一个大规模的应用程序崩溃,捕获不会“捕获”。
就像我说的那样,这是一个随机错误,大部分时间代码都是完美的,但奇怪的情况似乎会引发一个错误,即应用程序停止工作。
答案 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();