gpt4 book ai didi

java - 检查写入文件夹权限时出现 AccessControlException

转载 作者:行者123 更新时间:2023-11-30 11:17:20 25 4
gpt4 key购买 nike

我想检查文件夹的写入权限。文件夹可能是 user.home 或其他。无论我将什么文件夹放入 FilePermission,我都会捕捉到这个..

部分代码:

public class Test {

public static void main(String[] args) {

AccessController.checkPermission(new FilePermission(System.getProperty("user.home"), "write"));
System.out.println("tadam");
}

堆栈跟踪:

Exception in thread "main" java.security.AccessControlException: access denied ("java.io.FilePermission" "C:\Users\AntonovDI" "write")
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:366)
at java.security.AccessController.checkPermission(AccessController.java:560)
at ru.inversion.jinved.impl.Test.main(Test.java:19)

为什么?

我知道另一种解决方案,但我仍然对 =) 感兴趣

      Path userHomePath = Paths.get(System.getProperty("user.home")).toAbsolutePath();
if (Files.isWritable(userHomePath)) {
System.out.println("tadam");
}

最佳答案

您的解决方案不等效。第一个检查 Java 沙箱是否授予对文件的写访问权限。由于您似乎没有使用安全管理器,因此毫无意义。第二个检查操作系统是否授予访问权限。不是一回事。

关于java - 检查写入文件夹权限时出现 AccessControlException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24410407/

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