Android最快的方式来读取多个文件?

时间:2013-04-20 19:17:38

标签: android linux file

我正在编写一个Android应用程序,我需要在启动时阅读7个SYSTEM文件。最有效的方法是什么?

这是我现在的代码而且速度很慢

读取(file1的); 读(文件2); ... 读(file7);

...

public static String read(String file) {
    String fileContents = "";
    try {
        String[] args = {"/system/bin/cat", file };
        ProcessBuilder cmd = new ProcessBuilder(args);
        Process p = cmd.start();
        InputStream stream = p.getInputStream();
        BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
        fileContents = reader.readLine();
        reader.close();
        stream.close();
    }
    catch (IOException e) {
        e.printStackTrace();
    }
    return fileContents;
}

必须有一些方法来捕获每个文件而不关闭流,这应该会显着加快速度。我尝试使用7 cat cmds制作一个shell脚本并读取输出但是所有内容都被捣碎在一起,我无法分割结果。

我尝试用cat cmds拆分cat cmds以在输出中形成一个分隔符:

cat file1
echo !
cat file2
echo !

但是传教士“!”不显示在输出中,我无法弄清楚为什么。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我猜你可以尝试多个线程。可能7会做得很好,但你必须检查7对于你所针对的最慢的设备是否不是太多。您需要为UI线程留下一些CPU。