【问题标题】:java.io.IOException: Permission denied in Javajava.io.IOException: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 以将文件放在同一个项目文件夹中。

标签: java file permissions file-permissions user-permissions


【解决方案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 是的,兄弟,他尝试过很好:),你的回答是解决问题,这是真的:)
猜你喜欢
  • 2018-06-11
  • 2015-08-30
  • 1970-01-01
  • 2018-07-19
  • 2020-10-18
  • 2021-10-19
  • 2021-11-16
相关资源
最近更新 更多