我的应用程序中有一个名为“重置”的按钮,用于删除整个文件夹(用户文件夹).在那之后,我试图再次创建相同的文件夹,第一次尝试它,它允许我创建文件夹,但第二次我尝试重置并重新创建用户文件夹,应用程序崩溃因为mkdir ()没有创建该文件夹,我试图在该文件夹上创建一个数据库.但是,奇怪的是,崩溃后,文件夹已经创建.
我有权限:
我尝试了两种方法:
f.mkdir();
f.mkdirs();
我有什么不对的?任何的想法?
最佳答案
我也遇到了同样的问题.但是,最后,我认为我找到了一个解决方案(可能是解决方法).
删除目录时,重命名并删除.然后,通常使用File.mkdirs()创建目录.这应该工作正常.我在我的案例中测试过.有用!!!
public static final void renameAndDelete(File fileOrDirectory) {
File newFile = new File(fileOrDirectory.getParent() + File.separator
+ "_" + fileOrDirectory.getName());
fileOrDirectory.renameTo(newFile);
delete(newFile);
}
public static final void delete(File fileOrDirectory) {
if (fileOrDirectory.isDirectory())
for (File child : fileOrDirectory.listFiles())
delete(child);
fileOrDirectory.delete();
}