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 + », он работает, но если я попытаюсь создать и сохранить файл в другом каталоге, он выбрасывает исключение. Есть идеи, что я делаю неправильно?

И еще один вопрос: есть ли способ сделать мои файлы приватными во внешнем хранилище, чтобы пользователь не мог видеть их в галерее, только если он подключит свое устройство как Диск Диск ?

82
задан Mr_and_Mrs_D 28 July 2013 в 18:06
поделиться