java - 拒绝访问 - 无法在特定目录中创建文件

标签 java file access-denied

<分区>

当我尝试在 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp 中创建文件时,出现以下错误:

java.io.FileNotFoundException: C:\ProgramData\Microsoft\Windows\Start Menu\Progr
ams\StartUp\test.bat (Access is denied)
        at java.io.FileOutputStream.open(Native Method)
        at java.io.FileOutputStream.<init>(Unknown Source)
        at java.io.FileOutputStream.<init>(Unknown Source)
        at Program.testMethod(Program.java:26)
        at Program.main(Program.java:14)

我想知道为什么会出现此错误以及如何解决它。

当我按照下面的建议在路径周围加上引号时,出现以下错误:

java.io.FileNotFoundException: "C:\ProgramData\Microsoft\Windows\Start Menu\Prog
rams\StartUp\test.bat" (The filename, directory name, or volume label syntax is i
ncorrect)
        at java.io.FileOutputStream.open(Native Method)
        at java.io.FileOutputStream.<init>(Unknown Source)
        at java.io.FileOutputStream.<init>(Unknown Source)
        at Program.testMethod(Program.java:26)
        at Program.main(Program.java:14)

第 26 行是:

BufferedWriter w = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("\"C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\StartUp\\test.bat\""), "utf-8"));

最佳答案

这肯定是C盘的用户权限。程序数据是受限文件夹,只有对 C 盘具有完全访问权限的管理员才能访问。

这是windows的禁区,不是java代码的问题。如果您选中,您将无法在此 StartUp 文件夹中创建任何新文件。

检查您在 C 盘上的访问权限:

  1. 转到路径:C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp。
  2. 右键单击,转到属性 --> 安全选项卡 --> 选择用户 --> 单击编辑
  3. 分配适当的权限,您将能够在那里创建文件。

关于java - 拒绝访问 - 无法在特定目录中创建文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25277106/

相关文章:

C# - Windows 窗体应用程序 - 保存文件

javascript - iframe contentWindow 在缩短 document.domain 后抛出拒绝访问错误

c# - 尝试运行项目 : Access is denied 时出错

java - 一台 Memcached 服务器可用于多个客户端

java - 抛硬币课每次都返回同一面朝上

java - 这两种随机方法有什么区别?

javascript - jQuery XML 导出或简单 JavaScript 文件下载

java - 如何运行单个类而忽略其他类中的编译错误

scala - 如何从命令行运行scala文件?

javascript - XDomainRequest open ("get", url) 在 IE 中给出拒绝访问错误