c# - 应用程序卡在 File.OpenText()
问题描述
在 Xamarin Android 应用程序中,我使用此函数从存储的 json 文件中读取数据
public async Task<Caselist> readData()
{
var file = Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), "data_covid_dashboard.json");
try
{
System.Console.Write("Reading data...");
using (StreamReader fileContent = File.OpenText(file))
{
JsonTextReader reader = new JsonTextReader(fileContent);
JObject jo = (JObject)JToken.ReadFrom(reader);
return jo.ToObject<Caselist>();
}
}
catch (Exception)
{
throw;
}
}
但是,应用程序似乎卡在using (StreamReader fileContent = File.OpenText(file))
所需的文件约为 ~130MB。
问候,
乔纳森
解决方案
得到它的工作。还要感谢布赖恩。
public async Task<Caselist> readData()
{
var file = Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), "data_covid_dashboard.json");
try
{
System.Console.Write("Reading data...");
using (StreamReader fileContent = new StreamReader(file))
{
var json = fileContent.ReadToEnd();
return JsonConvert.DeserializeObject<Caselist>(json);
}
}
catch (Exception)
{
throw;
}
}
推荐阅读
- angularjs - AngularJS 中的摩纳哥编辑器
- asp.net-mvc - INSERT 语句与 FOREIGN KEY 约束冲突:需要将数据同时保存到两个数据库中
- python - Python nameerror:未定义名称权重
- java - 通过制作不同的对象来使用相同的 AsyncTask
- r - 无效的长度参数
- php - 从函数中使用的数组中检索值
- f# - 在 F# 中迭代没有 for 循环的 JArray
- grails - Grails 3.2 - 如何在插件中获取 java.sql.Connection
- powershell - 如果在 PowerShell 中给出 planName,则查找 Sku
- javascript - 使 iframe 中的文本不可选择