Android читает пустой файл, ADB показывает, что файл не пустой - PullRequest
0 голосов
/ 25 февраля 2019

Я пытаюсь прочитать файл журнала другого приложения на 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 секунд?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...