Android创建目录层次结构

时间:2013-02-28 17:01:00

标签: java android file directory

我以编程方式创建了一个目录,并插入了照片:

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

这很有用!

但是现在我想在我现有的目录“Gallery”中创建一个目录并插入其他照片。 我试过了:

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

2 个答案:

答案 0 :(得分:2)

而不是写这个:

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

试试这个:

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

这应该根据需要在文件夹内创建文件夹。

答案 1 :(得分:2)

您无法将目录结构(例如a / b / c)传递给GetDir(),但以下情况仍然有效:

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

这将创建目录结构

/data/data/com.somename.someclass/files/test1/test2