Я пытаюсь прочитать файл журнала другого приложения на Android.
Чтобы прочитать файл, я использую следующий код:
StringBuilder text = new StringBuilder();
try {
BufferedReader br = new BufferedReader(new FileReader(file));
String line;
while ((line = br.readLine()) != null) {
text.append(line);
text.append('\n');
}
br.close();
} catch (IOException e) {
e.printStackTrace();
}
return text.toString();
И у меня есть цикл, который читаетфайл каждую секунду:
while(true) {
Log.i("FileCheckTask", "Log file size: " + mLogFile.length());
SleepSeconds(1);
}
И этот цикл всегда записывает Log file size: 0
для первых ~ 10 итераций, хотя в обозревателе файлов устройства Android Studio я вижу, что файл имеет 34,4 КБ.Также вышеприведенные функции возвращают пустую строку.
После 10 итераций размер файла сообщается правильно, и вышеуказанная функция считывает правильное содержимое.
Почему это происходит и как я могу прочитатьфайл быстрее, не дожидаясь ~ 10 секунд?