java.io.FileNotFoundException(访问被拒绝)- file.canWrite() 不起作用

标签 java permissions filenotfoundexception

我正在尝试清空 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/

相关文章:

android - 如何解决关于 "Use of SMS or Call Log permission groups"的 google play 警告

asp.net-mvc - ASP.NET MVC 安全性 : how to check if a controller method is allowed to execute under current user's perrmissions

jsf-2 -/WEB-INF/lib 外部共享库 JAR 中的常见 Facelets 文件

c# - 从任务计划程序运行时程序在错误的目录中搜索配置文件

java - Android 菜单项名称

java - 使用 google guava 时无法推断类型变量 V

PHP 无法使用 mkdir 创建目录

java - 无法在我的独立 Java SE 应用程序中使用 Weld 进行上下文和依赖注入(inject) (CDI)

java - 如何使用 JBoss 5 访问不同主机和端口的应用程序

java - 错误 : unreported exception java. io.FileNotFoundException;必须被捕获或宣布被抛出[7]