我正在尝试清空 jasper 文件。在写入之前,我检查了它的写入权限,并且它让我可以在上面写入。但它以 java.io.FileNotFoundException(访问被拒绝)- file.canWrite() 终止 我错过了什么?
try {
File f = new File("C:\\Program Files (x86)\\XXXXXX\\XXX\\X\\X.jrxml");
if(f.canWrite()){
BufferedWriter bf = new BufferedWriter(new FileWriter(f));
bf.write("");
bf.close();
}
} catch (Exception e) {
e.printStackTrace();
}
最佳答案
在 Program Files 文件夹中写入内容通常具有相当严格的访问权限,并且通常必须使用管理员帐户才能执行此操作。我建议您尝试将 .jrxml
保存在 \\Program Files (x86)
之外的更易于访问的目录中,例如 ApplicationData
文件夹,它可能会甚至已经在那里。
您还可以尝试诸如隔离存储之类的操作来确保您拥有权限, this 应该告诉你如何使用它。
关于java.io.FileNotFoundException(访问被拒绝)- file.canWrite() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28435545/