Добрый день, мои коллеги-программисты,
Мне очень жаль, что я спросил такую глупость.Я уверен, что есть кое-что основное, что я пропускаю.В любом случае, я пытаюсь сохранить некоторые данные на внешнем хранилище.Вот мой код:
if (ActivityCompat.checkSelfPermission(mContext, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PERMISSION_GRANTED) return;
File testDir = new File(Environment.getExternalStorageDirectory() + "/test/");
final String externalStorageState = Environment.getExternalStorageState();
Log.d("STATE", externalStorageState);
if (Environment.MEDIA_MOUNTED.equals(externalStorageState)) {
Log.d("PATH", testDir.getAbsolutePath());
if (!testDir.exists()) {
Log.d("MAKE DIRS", testDir.mkdirs() + "");
Log.d("MAKE DIR", testDir.mkdir() + "");
}
File aFile = new File(testDir, "somefile");
FileOutputStream fos = new FileOutputStream(aFile);
fos.write("data".getBytes());
fos.close();
}
И журнал здесь:
D/STATE: mounted
D/PATH: /storage/emulated/0/test
D/MAKE DIRS: false
D/MAKE DIR: false
Проблема в том, что каталог не создан и, как следствие, FileOutputStream выдает IOException.