Неспособность записать байты в файл - PullRequest
0 голосов
/ 19 января 2020

Я создал файл и хочу записать в байтах этот файл, но он не работает. Где проблема?

public void writeFileExternalStorage() {
    File file = new File(getExternalFilesDir(null), "hhh.txt");
    try {
        if(!file.exists())
        file.createNewFile();
        FileOutputStream outputStream ;
        outputStream = new FileOutputStream(file, true);
        outputStream.write(files.getBytes());
        outputStream.flush();
        outputStream.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

1 Ответ

0 голосов
/ 19 января 2020
  1. Вызов createNewFile вернет true, если он успешно создал файл. Вы должны проверить результат вызова и зарегистрировать ошибку, если она составляет false.

  2. Согласно документации для getExternalFilesDir ( javado c):

    [it m] ay возвращает null, если общее хранилище в данный момент недоступно.

    Если это произойдет, вы позвоните new File(null, "hhh.txt"). Это эквивалентно new File("hhh.txt") ( javado c), поэтому файл будет создан в "текущем каталоге пользователя" приложения.

...