java.io.IOException:Java 中的权限被拒绝

Posted

技术标签:

【中文标题】java.io.IOException:Java 中的权限被拒绝【英文标题】:java.io.IOException: Permission denied in Java 【发布时间】:2014-05-05 22:06:13 【问题描述】:

我正在尝试在我的项目中的同一文件夹中创建一个文件,但我无法动态创建该文件。我正在尝试这个:

try 
            System.out.println("path"+System.getProperty("user.dir"));
            File file = new File("/textfile.txt");
            file.createNewFile();
            //file.createNewFile();
         catch (Exception e) 
            e.printStackTrace();
        

我得到的错误是:

java.io.IOException: Permission denied

欢迎提出任何建议。

【问题讨论】:

/textfile.txt 应改为 textfile.txt 以将文件放在同一个项目文件夹中。 【参考方案1】:

要在项目的同一文件夹中创建文件,您的路径必须是相对的。

您给出的路径是绝对的,因为它从/ 开始。为了使您的路径是相对的,请从路径中删除 / 并尝试以下操作:

File file = new File("textfile.txt");

【讨论】:

我试过它的工作。 :D 但为什么它给那个时间例外? 您试图在您的 linux 计算机的根 / 目录中创建一个文件,并且您可能没有以 root 用户身份执行 java 程序,因此出现了异常。 但是如果我喜欢这个 '/' 那么这意味着我正在尝试在根目录中进行操作吗? 是的,请参考:linuxnix.com/2012/07/…【参考方案2】:

您可以做的是创建一个变量字符串,存储文件名,然后将该字符串传递给File file=new File(string);

【讨论】:

你也对。我可以这样做,但事情是绝对路径说:)它是在根目录prob上。 这更适合作为评论,而不是答案。 @codeMan 很好,我接受你的回答,好吧,现在不要再争论了,你也是对的。 @Krishna 我无意争论或冒犯,这只是一个评论。我完全同意 Harsh Parikh 的回答没有任何问题。但我认为它不能解决问题。 @codeMan 是的,兄弟,他尝试过很好:),你的回答是解决问题,这是真的:)

以上是关于java.io.IOException:Java 中的权限被拒绝的主要内容,如果未能解决你的问题,请参考以下文章

java.io.IOException: Connection reset by peer和java.io.IOException: Connection timed out。Socket

java.io.IOException: toDerInputStream 拒绝标签类型 77

java.io.IOException:系统找不到指定的路径

任务 ':app:compileDebugKotlin' java.io.IOException 执行失败

android java.io.IOException:传输端点未连接

java.io.IOException:Java 中的权限被拒绝