我有一个问题,找不到一个好的解决方案。我需要读取包含大量数据的文本文件(文件有 16MB(。该文件包含 12 列,每列中都有整数值。通常,我的问题是如何在不冻结应用程序的情况下执行此操作。我的文件在我的项目的 assets 文件夹中,我尝试使用这样的东西:
AssetManager assetManager = this.getAssets();
try {
InputStream inputStream = assetManager.open("3333.ecg");
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
String str;
while ((str = bufferedReader.readLine()) != null) {
stringBuilder.append(str);
}
} catch (IOException e) {
e.printStackTrace();
}
但是应用程序冻结了。我的目标是从每列中获取数据并将其保存到整数数组列表中。我正在寻找一些建议。
提前谢谢。
使用它在后台运行它:
AsyncTask.execute(new Runnable() {
@Override
public void run() {
AssetManager assetManager = this.getAssets();
try {
InputStream inputStream = assetManager.open("3333.ecg");
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
String str;
while ((str = bufferedReader.readLine()) != null) {
stringBuilder.append(str);
}
} catch (IOException e) {
e.printStackTrace();
}
}
});