안드로이드 앱을 쓰고 있는데, 시작시 7 개의 SYSTEM 파일을 읽어야합니다. 이 작업을 수행하는 가장 효율적인 방법은 무엇입니까?Android에서 가장 빠른 방법으로 여러 파일을 읽을 수 있나요?
이 내 코드는 바로 지금이며
읽기 (파일 1) 매우 느린; 읽기 (file2); ... 읽기 (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와 출력을 읽고 껍질 스크립트를 만들려고했는데 모두 다 함께 으깬되고 결과를 나눌 수 없다.
나는 출력에 deliminator 형성 에코 CMDS와 고양이 CMDS을 분할 시도 : ""cat file1
echo !
cat file2
echo !
그러나 deliminators을 출력에 나타나지 않고 그 이유를 알 수 없습니다.
제안 사항?
Java의 내장 파일 판독기 클래스를 사용하지 않는 이유는 무엇입니까? – Thomas
파일이 한 줄입니까? @Thomas와 마찬가지로 Process를 사용할 필요가 없습니다. 이것은 속도를 늦추는 요인 일 수 있습니다. –
FileInputStream을 사용하여 다시 테스트 해 보니 이제는 훨씬 빠릅니다. – user1974977