openFileInput () и / или openFileOutput () потоки ввода-вывода молча терпят неудачу
Я дурачился с платформой Android, возиться с различными способами хранения данных. Прямо сейчас я используюContext
методыopenFileInput()
а такжеopenFileOutput()
.
Я создал файл с именем default, как и говорилось в документации по этим двум методам. Вот пример кода (эти примеры являются копиями того, что я сделал, я знаю, что имя файла и переменные названы по-разному):
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();
В этих фрагментах кода «hello world» должен быть записан в файл «hello_file» и должен быть тем, что находится вstr
, Проблема с моим кодом в том, что независимо от того, что я пишу в мой файл,FileInputReader
ничего не подхватывает.
Я прокрутил разрешения, перечисленные в документации Android, но не смог найти ничего о внутреннем хранилище (и я почти уверен, что вам не нужно разрешение для чего-то подобного).
Суть в том, я не понимаю, почемуFileInputWriter
ничего не пишет или почемуFileInputReader
ничего не читает (я не знаю, что это), когда код работает нормально и без ошибок.