gpt4 book ai didi

Java 桌面应用程序无法在 C 上写入文件 :\drive

转载 作者:行者123 更新时间:2023-12-02 00:34:17 24 4
gpt4 key购买 nike

我试图在 C:\驱动器上写入文件,但出现异常。

java.io.IOException: Access denied.

代码:

public class Test {

public static void main(String[] args) {
try {
StringBuilder sb = new StringBuilder(File.separator);
sb.append("index.txt");
// sb is "\\index.txt"
File f = new File(sb.toString());
boolean isCreated = f.createNewFile();
System.out.println(isCreated);
} catch (IOException ex) {
Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
}
}
}

实际上,我明白了,我没有权限在那里写入文件,但我很确定可以通过某种方式完成。如果我有一个小程序,我只需获得许可,但在这里,我不知道该怎么做。

可能的解决方案可能是检查我是否可以在那里写入文件,但要检查它,我可能会尝试先写入一个文件,然后删除它,以检查是否可以在那里写入文件,但我不这样做找不到此解决方案的最佳方式。

最佳答案

最简单的检查方法是使用 File.canWrite() .

话虽如此,看起来您正在写入驱动器的根目录。在 Windows 上,这可能不是一个好主意,您可能需要考虑在其他地方编写 - 例如一个temp dir .

关于Java 桌面应用程序无法在 C 上写入文件 :\drive,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8231462/

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