【发布时间】:2011-11-22 18:00:40
【问题描述】:
我正在尝试在 C:\ 驱动器上写入文件,但出现异常。
java.io.IOException: 访问被拒绝。
代码:
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);
}
}
}
实际上,我明白了,我没有权限在那里写文件,但我很确定它可以以某种方式完成。如果我有一个小程序,我只是获得一个许可,但在这里,我不知道该怎么做。
可能的解决方案可能是检查我是否可以在那里写一个文件,但要检查它,我可能会先尝试写一个文件然后删除它,以检查是否可以在那里写一个文件,但我没有'找不到此解决方案的最佳方法。
【问题讨论】:
-
您不需要获取分隔符来定义文件路径。 "/index.txt" 在 Windows 和 Unix 中都可以使用。