все.Я пытаюсь сохранить изображение с Android в общедоступном каталоге изображений на SD-карте.Тем не менее, я не могу открыть файл для записи.Вот код:
boolean mExternalStorageWriteable = false;
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
mExternalStorageWriteable = true;
}
if(mExternalStorageWriteable){
File root_dir = Environment.getExternalStorageDirectory();
root_dir.mkdirs();
File pictures_directory = new File(root_dir, "/Pictures/");
pictures_directory.mkdirs();
File outputfile = new File(pictures_directory, "test_file.jpg");
try {
outputfile.createNewFile();
FileOutputStream out = new FileOutputStream(outputfile);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Мой отладчик всегда переходит к блоку перехвата (вызванному вызовом createNewFile), и сообщение IOExceptions - «Не каталог».Если я удалю вызов createNewFile, конструктор FileOutPutStream вызовет исключение FileNotFound.Однако открытие потока вывода файла в корень файловой системы или в каталог с картинками работает нормально.
Чтобы обойтись без очевидного, мой манифест включаеттег.Я использую API уровня 5, и в моем эмуляторе установлена виртуальная SD-карта.Любые предложения приветствуются.
решено: возникла проблема с файловой системой эмулятора.DDMS показывал / Pictures /, создаваемый в виде файла или каталога по какой-то причине.Создание нового эмулятора решило проблему.