Java Netbeans中的FileNotFoundException
我在Netbeans中有一个java应用程序项目。我只有一节课。 我试着这么做Java Netbeans中的FileNotFoundException,java,netbeans,Java,Netbeans,我在Netbeans中有一个java应用程序项目。我只有一节课。 我试着这么做 FileReader fr = new FileReader("sal.html"); 我在同一个包下有sal.html文件。但我在运行时遇到以下错误: Errorjava.io.FileNotFoundException: sal.html (The system cannot find the file specified) 我认为您的问题在于文件的相对路径。尝试使用文件的完整路径声明FileReader。F
FileReader fr = new FileReader("sal.html");
我在同一个包下有sal.html文件。但我在运行时遇到以下错误:
Errorjava.io.FileNotFoundException: sal.html (The system cannot find the file specified)
我认为您的问题在于文件的相对路径。尝试使用文件的完整路径声明
FileReader
。FileNotFoundException
表示找不到文件
netbeans的构建文件夹在没有文件sal.html的情况下是不同的
尝试使用绝对路径代替相对路径 将文件放入主项目文件夹。不发送到任何子文件夹,如src或bin等。然后它将检测到您的文件。我猜Netbeans正在从项目的根文件夹调用JVM。引用以下内容的一部分: 默认情况下,java.io包中的类总是根据当前用户目录解析相对路径名。该目录由系统属性user.dir命名,通常是调用Java虚拟机的目录 要验证相对路径分辨率,您可以尝试:
System.out.println(System.getProperty("user.dir"));
System.out.println(new File("sal.html").getAbsolutePath());
然后,您可以将文件移动到java查找它的任何地方。很可能是项目的根文件夹
您还可以考虑使用类加载器使用“<代码> GETCARCH”(.GETRealSuffStRead)(“Sal.html”)来读取包内的资源;代码>。这是访问资源的首选方式,因为您不再需要担心绝对路径和相对路径。如果资源在类路径中,则可以访问它。更多信息,请参阅
这不是“未找到文件”问题。 这是因为每个类都拥有自己的资源(可以是文件、图像等),这些资源只能通过下面的resource loader语句进行访问: InputStream in=this.getClass().getResourceAsStream(“sal.html”) 唯一的修复方法是,您将获得一个InputStream,而不是一个文件。希望这有帮助。单击Netbeans中的文件视图。将sal.html移动到项目文件夹。这样你就会看到它像这样
- JavaProject
+ build
+ lib
+ nbproject
+ src
+ build.xml
manifest.mf
sal.html
现在
会有用的
System.out.println(System.getProperty("user.dir"));
System.out.println(new File("sal.html").getAbsolutePath());
然后它将显示JVM从何处检索文件。通常用于/home/username/NetbeansProjects/ApplicationName/
中的linux
将您的资源或文件放入此路径当我从控制台手动运行时,它运行正常!!!还有一个疑问!您说过调用JVM的目录存储在user.dir系统属性中。我运行了上面两行代码,得到了相同的输出<代码>C:\Users\Onie\Documents\NetBeansProjects\Testapp\sal.html
C:\Users\Onie\Documents\NetBeansProjects\Testapp
那么它应该正常工作了吗?我还尝试了newfilereader(“C:\\Users\\Onie\\Documents\\NetBeansProjects\\Testapp\\sal.html”)代码>失败了!同样的错误Errorjava.io.FileNotFoundException:C:\Users\Onie\Documents\NetBeansProjects\Testapp\sal.html(系统找不到指定的文件)
如果文件的实际位置=新文件(“文件”)的输出。getAbsolutePath()
,则不应抛出FileNotFoundException
。你说你的代码在从命令行调用时可以工作吗?是的。。当我从cmd行运行它时,没有FileNotFoundException
System.out.println(System.getProperty("user.dir"));
System.out.println(new File("sal.html").getAbsolutePath());