我使用Visual Studio 2015和Xamarin Android。
我想从文件中读取一些JSON数据,但我一直得到这个System.IO.FileNotFoundException
,即使我已经设置了我的文件属性"构建:内容,复制到输出目录:复制如果更新&#34 ;我可以在我的构建文件夹中看到该文件。
我使用此代码:
var path = @"AedJson.json";
using (var streamReader = new StreamReader(path))
{
string json = streamReader.ReadToEnd();
//JObject o1 = JObject.Parse(json);
}
确切的例外是:
System.IO.FileNotFoundException:找不到文件" /AedJson.json"。
答案 0 :(得分:2)
您需要将json文件作为资产(在Xamarin.Android
文件夹中)添加到Assets
项目中并将其标记为AndroidAsset
构建类型,然后您可以使用{ {1}}阅读它。
AssetManager
答案 1 :(得分:0)
我不确定它确实是一个错误,但是看错误,似乎路径不正确。您真的需要将文件精确保存到实际保存的位置吗?如果没有,试试这个:
string path = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
string filename = Path.Combine(path, "myfile.txt");
using (var streamReader = new StreamReader(filename))
{
string json = streamReader.ReadToEnd();
//JObject o1 = JObject.Parse(json);
}
使用此路径进行保存和加载。对于我的所有文件,我都是这样做的,似乎运行良好。
答案 2 :(得分:0)
这可以使用Microsoft.Extensions.Configuration.Json
在属性中将json文件构建操作设置为嵌入式资源
项目:客户端
FileFolder :配置
文件名:appsettings.json
JSON:
build.extractCSS: true
代码:
{
"Rest": {
"Server": "192.168.0.199",
"Port": "5003"
}
}