我试图读取一个文件夹中的文件,但运行程序时它抛出了这个异常。我也尝试了一些其他文件夹,但还是会抛出相同的异常。
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)
我试图读取一个文件夹中的文件,但运行程序时它抛出了这个异常。我也尝试了一些其他文件夹,但还是会抛出相同的异常。
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)
如果你无法打开和读取一个目录,可以使用isFile()
和isDirectory()
方法来区分文件和文件夹。你可以使用list()
和listFiles()
方法(分别用于获取文件名和File
对象)来获取目录的内容,也可以指定一个过滤器来选择要列出的文件的子集。
在某些情况下,检查目标文件夹权限也很重要。为用户授予写入权限可能是解决方案。这对我很有用。
这里有一个我刚刚发现的坑,也许对其他人有帮助。如果使用Windows操作系统,classes文件夹不能启用加密!Tomcat似乎不喜欢这样。右键单击classes文件夹,选择“属性”,然后点击“高级...”按钮。确保“加密内容以保护数据”复选框被清除。重新启动Tomcat。
因为对我起作用,所以希望它也能帮助其他人。
请仔细检查文件路径,通常我们只提到位置而忘记指定文件名或其所属的确切位置。