【问题标题】:Android create directory hierarchyAndroid 创建目录层次结构
【发布时间】:2013-02-28 17:01:00
【问题描述】:

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

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

【问题讨论】:

  • dirGallery2.listFiles() 返回什么?即不通过任何过滤器。
  • 它不会改变任何东西,如果没有,我的工作代码仍然有效,我的失败代码仍然无效。

标签: java android file directory


【解决方案1】:

而不是这样写:

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

试试这个:

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

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

【讨论】:

  • 这不起作用,我仍然有错误:“文件...包含路径分隔符”。
  • 好吧,我的错,我测试了几个小时,但我忘了删除我的应用程序,损坏的文件仍然存在并且我的应用程序崩溃了。 TY 埃米尔 ;)
【解决方案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

【讨论】:

    猜你喜欢
    • 2017-09-20
    • 2012-11-04
    • 1970-01-01
    • 2019-12-28
    • 2014-04-09
    • 1970-01-01
    • 2019-12-25
    • 1970-01-01
    • 2017-04-18
    相关资源
    最近更新 更多