openFileInput () i / lub openFileOutput () strumienie we / wy po cichu zawodzą

Wygłupiałem się z platformą android, bawiąc się różnymi sposobami przechowywania danych. W tej chwili używamContext metodyopenFileInput() iopenFileOutput().

Stworzyłem plik o nazwie default, tak jak powiedział mi dokumentacja tych dwóch metod. Oto przykładowy kod (przykłady te są replikami tego, co zrobiłem, wiem, że nazwa pliku i zmienne są nazywane inaczej):

openFileOutput () ...

    Context cont = /* defined somewhere */;
    String FILENAME = "hello_file";
    String string = "hello world!";

    FileOutputStream fos = cont.openFileOutput(FILENAME, Context.MODE_PRIVATE);
    fos.write(string.getBytes());
    fos.flush();
    fos.close();

openFileInput () ...

    FileInputStream fis = cont.openFileInput("hello_file");

    byte[] buffer = new byte[(int) fis.getChannel().size()];
    fis.read(buffer);
    String str= "";
    for(byte b:buffer) str+=(char)b;

    fis.close();

W tych fragmentach kodu „hello world” powinien być zapisany w pliku „hello_file” i powinien znajdować się w tym, co znajduje się wstr. Problem z moim kodem polega na tym, że bez względu na to, co piszę do mojego pliku,FileInputReader nic nie podnosi.

Przewijałem uprawnienia wymienione w dokumentacji systemu Android, ale nie mogłem znaleźć niczego na temat pamięci wewnętrznej (i jestem pewien, że nie potrzebujesz pozwolenia na coś takiego).

Najważniejsze jest to, że nie rozumiem dlaczegoFileInputWriter nic nie pisze ani dlaczegoFileInputReader nie czyta niczego (nie wiem, co to jest), gdy kod działa poprawnie i bezbłędnie.

questionAnswers(1)

yourAnswerToTheQuestion