我有一个问题,找不到解决的办法。我需要读取一个包含大量数据的文本文件(文件有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();
}
但是应用程序冻结。我的目标是从每一列获取数据并将其保存到整数数组列表中。我正在寻找一些建议。
谢谢。
答案 0 :(得分:1)
使用它在后台运行它:
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();
}
}
});