在Android的内部存储中创建目录

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

谢谢。
1个回答

5

Context.getDir()是一种Android特有的方法,用于抽象出在私有存储区域内创建目录的过程,它不是一种普遍的创建目录的方法。

要创建您的子目录,您应该使用正常的Java方法,例如

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

请注意,这里的第一个参数是代表您创建的第一个目录的文件对象,而不是名称。
您可能希望随后设置此目录的权限。 警告:未经测试

@Marky 不需要更改为mkdirs()方法 - 因为父目录已知存在,mkdir()就足够了。 - Chris Stratton

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接