У меня небольшая проблема с созданием каталога и сохранением в него файла в моем приложении для Android. Я использую этот фрагмент кода для этого:
String filename = "MyApp/MediaTag/MediaTag-"+objectId+".png";
File file = new File(Environment.getExternalStorageDirectory(), filename);
FileOutputStream fos;
fos = new FileOutputStream(file);
fos.write(mediaTagBuffer);
fos.flush();
fos.close();
Но это вызывает исключение:
java.io.FileNotFoundException: /mnt/sdcard/MyApp/MediaCard/MediaCard-0.png (такого файла или каталога нет)
в этой строке: fos = new FileOutputStream(file);
Если я установил имя файла: "MyApp/MediaTag-"+objectId+"
он работает, но если я попытаюсь создать и сохранить файл в другом каталоге, он вызовет исключение. Так есть идеи, что я делаю не так?
И еще один вопрос: есть ли способ сделать мои файлы частными во внешнем хранилище, чтобы пользователь не мог видеть их в галерее, только если он подключит свое устройство как Disk Drive
?
Environment.getExternalStorageDirectory()
вместо/sdcard
.