是否可以在目录中创建目录。要创建一个目录,只需调用:
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
感谢。
答案 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;