4

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

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

谢谢。

4

2 回答 2

5

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

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

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

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

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

警告:未经测试

于 2012-05-16T13:04:04.243 回答
4

使用 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;
于 2012-05-16T13:51:05.463 回答