如何修复Xamarin.forms System.IO.FileNotFoundException:找不到文件

我正在使用xamrin.forms ,我正在尝试访问文件并阅读它。

我有lastusername.txt作为文本文件,我将它的构建操作设置为“内容”,实际上我正在尝试读取文件如下:

var filename = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), "lastusername.txt"); if (filename != null) return System.IO.File.ReadAllText(filename);//error occurred here else return ""; 

我收到以下错误:

System.IO.FileNotFoundException:找不到文件

将您的文件放在Android Assets文件夹中,并使用构建类型“AndroidAsset”进行分配。

由于您的应用程序的资源是只读的,您可以通过AssetManager读取它,如果它不存在(即第一次运行应用程序),则将其保存(复制)到其他位置:

 var fileName = "MyAssetBasedFile.txt"; if (!File.Exists(Path.Combine(CacheDir.Path, fileName))) { AssetManager assets = this.Assets; using (StreamReader sr = new StreamReader(assets.Open(fileName))) using (StreamWriter sw = new StreamWriter(Path.Combine(CacheDir.Path, fileName), append: false)) sw.Write(sr.ReadToEnd()); } string content; using (StreamReader sr = new StreamReader(Path.Combine(CacheDir.Path, fileName))) { content = sr.ReadToEnd(); } Log.Debug("SO", content); 

下次应用程序运行时,您将在缓存目录中选择一个。