gpt4 book ai didi

java - File.delete() 错误异常

转载 作者:行者123 更新时间:2023-11-30 10:51:53 26 4
gpt4 key购买 nike

我正在尝试删除我的 Android 应用程序中的内部文件和文件夹。

代码正确,但文件和文件夹均未删除:delete() 返回 false。

经过一步一步的调试,调试器把我带到了“File.java”类中

     catch(ErrnoException errnoException){} 

只返回 false 的 block ,没有任何额外的解释。

你能告诉我如何解决这个问题吗?

编辑现在,因为我正在从文件夹创建 zip 存档,zip 文件实际上被删除了我用来删除其他文件的相同功能!我怀疑应用程序只能删除应用程序创建的文件和/或文件夹,但我不确定;我尝试共享从其他应用程序创建的 zip 存档,然后我将它们放在我的应用程序文件夹中,它们不能被删除,也不能共享,当我从我的代码创建存档时,这些稍后可以被删除和共享!

最佳答案

    /**
* Deletes this file. Directories must be empty before they will be deleted.
*
* <p>Note that this method does <i>not</i> throw {@code IOException} on failure.
* Callers must check the return value.
*
* @return {@code true} if this file was deleted, {@code false} otherwise.
*/
public boolean delete() {
try {
Libcore.os.remove(path);
return true;
} catch (ErrnoException errnoException) {
return false;
}
}
  1. 确定文件夹是否为空。
  2. 确保该文件是否被其他应用程序使用。

试试下面的代码:

public static boolean deleteFileSafely(File file) {
if (file != null) {
String tmpPath = file.getParent() + File.separator + System.currentTimeMillis();
File tmp = new File(tmpPath);
file.renameTo(tmp);
return tmp.delete();
}
return false;
}

关于java - File.delete() 错误异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34556755/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com