2013-02-28 3 views
2

Я создал каталог программно и я вставил фотографии:Android создать иерархию каталогов

File dirGallery = context.getDir("Gallery", Context.MODE_PRIVATE); 
File fileWithinMyDir = new File(dirGallery, photo); 
... 

Это работает!

Но теперь я хочу создать каталог в существующем каталоге «Галерея» и вставить другие фотографии. Я пробовал:

File dirGallery = context.getDir("Gallery/Gallery2", Context.MODE_PRIVATE); 

Но я получаю "Файл ... содержит разделитель пути".

Я также попытался:

File dirGallery = context.getDir("Gallery", Context.MODE_PRIVATE); 
dirGallery.mkdir(); 
File dirGallery2 = new File(dirGallery,"Gallery2"); 
dirGallery2.mkdir(); 
File fileWithinMyDir = new File(dirGallery2, nomPhoto); 

И когда я получу свой файл:

File dirGallery = context.getDir("Gallery", Context.MODE_PRIVATE); 
File dirGallery2 = new File(dirGallery,"Gallery2"); 
File[] listImages = dirGallery2.listFiles(filter); 

Но listImages пуста. Где я потерпел неудачу?

TY

+0

Что возвращает dirGallery2.listFiles()? то есть без прохождения какого-либо фильтра. – appsroxcom

+0

Это ничего не меняет, с ou без, мой рабочий код все еще работает, и мой код ошибки все еще не работает. – Aximem

ответ

1

Вместо того, чтобы писать это:

File dirRecipe = context.getDir("Gallery/Gallery2", Context.MODE_PRIVATE); 

попробовать это:

File dirRecipe = context.getDir("Gallery"+File.separator+"Gallery2", Context.MODE_PRIVATE); 

это должно создать папку внутри папки, как вы хотите.

+3

Это не работает, у меня все еще есть ошибка: «Файл ... содержит разделитель путей». – Aximem

+0

Хорошо, что я плохой, я тестировал в течение нескольких часов, но я забыл удалить свое приложение, поврежденный файл все еще был там и разбил мое приложение. TY Emil;) – Aximem

+1

Замечательно, что у вас есть работа @sAr, вы приветствуете:) –

2

Вы не можете передать структуру каталогов (например,/б/с) GetDir(), следующий будет работать, однако:

File dir = getFilesDir(); 
    File dir2 = new File(dir, "test1/test2"); 
    dir2.mkdirs(); 

это создаст структуру каталогов

/данные/data/com.somename.someclass/files/test1/test2

Смежные вопросы