使用C#处理Android应用。每次调用onCreate()时都试图访问和编辑文件。 (OnCreate()调用updateTileInstallationStatus())
private void updateTileInstallationStatus()
{
using (StreamReader streamReader = new StreamReader(Assets.Open("tileData.xml"))) {
XmlDocument xmlDoc = setAllTilesUninstalled(streamReader);
//some file editing here...
xmlDoc.Save(getFilePath());
}
}
private XmlDocument setAllTilesUninstalled(StreamReader streamReader)
{
//use template from Assets to set all tile installation status as false
XmlDocument xmlDoc = new XmlDocument ();
xmlDoc.Load (streamReader);
xmlDoc.Save(getFilePath());
return xmlDoc;
}
它在第一次应用程序保持水分时成功保存文件,但在路径上抛出了#34;共享违规..."在导航后重新打开应用程序。
在其他帖子中,看起来问题是通过关闭StreamReader来解决的。我尝试在updateTile ...()中保存调用后执行此操作,但这并没有解决问题。与using语句相同。看起来流不会被关闭,然后当第二次调用updateTile ..()时,它无法访问该文件,因为它被锁定了?
有关更好地访问/编辑文档或关闭流的建议吗?
答案 0 :(得分:0)
已解决:有一个我从未关闭过的另一个方法的开放流,这阻止了我保存。