java.io.IOException: файловая система, доступная только для чтения, при тестировании на виртуальном устройстве Android

#java #android #android-studio

#java #Android #android-studio

Вопрос:

Пока я тестирую виртуальное устройство Android в Android Studio, я получаю java.io.IOException: Read-only file system сообщение об ошибке при попытке записать файл. Я предполагаю, что это связано с тем, что программа пытается создать / записать файл на виртуальное устройство Android, которое находится в тестовом файле, но, сказав это, я понятия не имею, как я могу сохранить файл в «локальной» файловой системе, например «C:_tmp_output.json «.

Я также добавил строки uses-permission android.permission.READ_EXTERNAL_STORAGE , но работал не так, как я мог ожидать. Кто-нибудь поможет мне решить проблему? Спасибо.

     File test = new File("C:\_tmp\_output.json");
    test.createNewFile() ;
    FileWriter file = new FileWriter("C:\_tmp\_output.json");
    file.write(String.valueOf("foobar"));
  

Комментарии:

1. C: это раздел на ПК с Windows. Она не существует на устройстве или эмуляторе Android.

2. хорошо, извините за это @blackapps

3. @blackapps Я все равно хочу сохранить файл локально во время тестирования. Я понимаю это, но нет ли способа сохранить файл в файловой системе Windows? Или я не возражаю, что это будет устройство Android, в любом случае, я получаю ошибку разрешения, поэтому не могу сохранить файл в любом месте.

4. Затем выберите возможный путь, например getFilesDir() или getExternalFilesDir(null) .

5. getFilesDir() или getExternalFilesDir(null), хорошо, я посмотрю, как их использовать. спасибо за совет