我正在寫一個android應用程序,我需要在啓動時讀取7個SYSTEM文件。什麼是最有效的方式來做到這一點?Android最快的方式來讀取多個文件?
這是我的代碼,現在,它是相當緩慢
讀(文件1); read(file2); ... read(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個貓的cmds製作一個shell腳本,並讀取輸出,但是所有東西都混在一起,我不能分割結果。
我試圖分裂回聲CMDS貓CMDS以在輸出deliminator: 「!」
cat file1
echo !
cat file2
echo !
但deliminators不顯示在輸出中,我不知道爲什麼。
有什麼建議嗎?
爲什麼不使用Java的內置文件讀取器類? – Thomas 2013-04-20 19:20:30
你的文件是一行嗎?就像@Thomas說的,你不需要使用Process。這可能會降低速度。 – 2013-04-20 19:37:14
只需使用FileInputStream重新測試,現在速度更快,你們是對的。 – user1974977 2013-04-20 21:22:14