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 执行失败