gpt4 book ai didi

java - 如何设置删除权限?

转载 作者:行者123 更新时间:2023-12-01 18:53:20 24 4
gpt4 key购买 nike

我正在编写一个程序,其中一部分是删除某个文件夹(程序根目录中)中的文件。目前,这些文件不是由程序创建的,而是在外部创建的 - 但将来它们可能会或可能不会由程序本身创建/编辑。

现在的问题是:

当我尝试删除文件时,出现权限异常。经过大量的检查、调试和研究,我编写了这段代码:

private void checkAndDelete(int n, String fileName) {
// TODO: file permission error
if (n == JOptionPane.YES_OPTION) {
File file = new File(fileName);
file.setWritable(true);
SecurityManager s = new SecurityManager();
s.checkDelete(fileName);
System.out.println(file);
if(file.delete()) {
JOptionPane.showMessageDialog(null, "Deletion successful!");
initializeNorth();
} else {
JOptionPane.showMessageDialog(null, "Deletion failed!");
}
}
}

n是用户在确认删除对话框中点击yes或no时的值,fileName是文件名。

现在,checkDelete 方法会抛出以下错误:

Exception in thread "AWT-EventQueue-0" java.security.AccessControlException: access denied ("java.io.FilePermission" "DB/fun trivia.kgf" "delete")

所以我缩小了问题范围——权限问题。如果重要的话,我可以将文件放在保管箱中(我的所有项目都在其中)。文件存在,可读可写。我已经完成了所有检查。问题仅在于许可。

如何解决这个问题?

编辑:我尝试将文件的位置更改为本地系统上的位置,但它有相同的错误。因此,仅在 Dropbox 上时这不是问题。

最佳答案

显然,我没有关闭该文件的扫描仪。我只是简单地抑制了资源泄漏。我必须将我的文件 Scanner 包装在 try { } finally { } 中才能正常工作。

关于java - 如何设置删除权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15075579/

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