在不冻结应用程序的情况下从 16MB 文件中读取数据的最佳方法

我有一个问题,找不到好的解决方案。我需要读取一个包含大量数据的文本文件(文件有 16MB)。该文件包含 12 列,每一列都有整数值。通常我的问题是如何在不冻结应用程序的情况下执行此操作。我的文件在我的项目的资产文件夹中,我尝试使用这样的东西:


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();

}

但是应用程序冻结了。我的目标是从每一列中获取数据并将其保存到整数数组列表中。我正在寻找一些建议。


提前致谢。


当年话下
浏览 60回答 1
1回答

ABOUTYOU

使用它在后台运行它: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();    }   }});
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java