Stworzyłem plik i chcę pisać w bajtach w tym pliku, ale nie działa. Gdzie jest problem?

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();
    }
}
0
chari jarab 19 styczeń 2020, 13:59

1 odpowiedź

Najlepsza odpowiedź
  1. Połączenie createNewFile powróci true, jeśli pomyślnie utworzył plik. Powinieneś sprawdzić wynik połączenia i zalogować błąd, jeśli jest false.

  2. Według dokumentacji dla getExternalFilesDir (Javadoc):

    [IT M] AY RETURN null Jeśli udostępniona pamięć nie jest obecnie dostępna.

    Jeśli tak się stanie, zadzwonisz new File(null, "hhh.txt"). To jest odpowiednik new File("hhh.txt") (

    Stephen C 19 styczeń 2020, 12:18