new File(filePath, "/classes/").mkdirs();
filePath
是一个目录,它存在。 classes
是一个应该创建的新目录
我相信mkdirs认为类是一个文件并且没有做任何事情,但是当我执行时
new File(filePath, "/tyhdtyurtu/classes/").mkdirs();
/tyhdtyurtu/classes/
它被创建了!怎么解决这个问题?如何创建所有需要的目标?
UPD: 在这个文件夹里面我也有classes.jar文件,当我尝试创建/ classes / dir时它失败了。但是当我尝试创建例如classes1时,它可以工作。为什么呢?
UPD2:
System.out.println(new File(apkName, "classes").exists());
System.out.println(new File(apkName, "classes").mkdirs());
System.out.println(new File(apkName, "classes").exists());
System.out.println(new File(apkName, "classes").isDirectory());
System.out.println(new File(apkName, "classes").getAbsolutePath());
输出:
false
true
true
true
C:\Users\Admin\Videos\App\classes
当我将链接从输出复制到资源管理器时,我看到资源管理器无法找到此路径的错误消息。如果我能够创建除此之外的任何文件夹,我认为我没有任何权限
答案 0 :(得分:1)
你需要检查2件事
1. you have write permissions
2. the directory exists or not
您可以参考以下链接
http://www.ekiras.com/2015/06/how-to-create-nested-folders-in-java.html
答案 1 :(得分:1)
答案 2 :(得分:0)
您应该编码如下:
new File(filePath, "classes").mkdirs();
new File(filePath, "tyhdtyurtu/classes").mkdirs();