在内部存储android中创建目录

时间:2012-05-16 12:22:53

标签: java android

是否可以在目录中创建目录。要创建一个目录,只需调用:

File dir1 = getDir("dir1",Context.MODE_PRIVATE);

但是如何在dir1中创建其他目录?

这样:

File dir2 =getDir("dir1"+"/"+"dir2",Context.MODE_PRIVATE);

抛出异常:

File dirFile = java.lang.IllegalArgumentException: File app_dir1/dir2 contains a path separator

感谢。

2 个答案:

答案 0 :(得分:3)

Context.getDir()似乎是一个Android独有的方法,用于抽象出在私有存储区域内创建目录的过程 - 它不是一般制作目录的通用方法。

要创建子子目录,应使用普通的java方法,例如

File dir2 =new File(dir1, "dir2").mkdir();

请注意,此处的第一个参数是表示您创建的第一个目录的文件对象,而不是名称。

您可能希望随后在此目录上设置权限。

警告:未经测试

答案 1 :(得分:3)

使用Context.getDir(String name,int mode)方法创建或访问内部存储中的目录。从文档引用:

File mydir = context.getDir("mydir", Context.MODE_PRIVATE); //Creating an internal dir;
File fileWithinMyDir = new File(mydir, "xyzDir"); //Getting a file within the dir.
fileWithinMyDir.mkDir;