Java.io.FileNotFoundException:(访问被拒绝)

54

我试图读取一个文件夹中的文件,但运行程序时它抛出了这个异常。我也尝试了一些其他文件夹,但还是会抛出相同的异常。

Exception in thread "main" java.io.FileNotFoundException: C:\backup (Access is denied)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(Unknown Source)
6个回答

54

如果你无法打开和读取一个目录,可以使用isFile()isDirectory()方法来区分文件和文件夹。你可以使用list()listFiles()方法(分别用于获取文件名和File对象)来获取目录的内容,也可以指定一个过滤器来选择要列出的文件的子集。


6
  1. 检查rsp的回复
  2. 检查您是否有权限读取文件
  3. 检查文件是否被其他应用程序锁定。如果您使用的是Windows系统,则这一点非常相关。例如,如果您在尝试读取文件时它正在记事本中打开,那么可能会出现异常。

2
回复:2. 如果在Windows上,请尝试以管理员身份运行 - Joshua Drake

3

在某些情况下,检查目标文件夹权限也很重要。为用户授予写入权限可能是解决方案。这对我很有用。


3

这里有一个我刚刚发现的坑,也许对其他人有帮助。如果使用Windows操作系统,classes文件夹不能启用加密!Tomcat似乎不喜欢这样。右键单击classes文件夹,选择“属性”,然后点击“高级...”按钮。确保“加密内容以保护数据”复选框被清除。重新启动Tomcat。

因为对我起作用,所以希望它也能帮助其他人。


0

请仔细检查文件路径,通常我们只提到位置而忘记指定文件名或其所属的确切位置。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接