在我的项目中,我使用

getClass().getResource("/package/my_reource.file").getFile()

当我在NetBeans运行该项目时,一切都很好,但是如果我运行jar文件,我会得到filenotfoundexception,为什么?

谢谢。

有帮助吗?

解决方案

我认为您不需要文件名。您宁愿需要它的内容。所以使用 getResourceAsStream() 获得 InputStream 并从那里阅读内容。

其他提示

您可以使用 InputStream 而不是 getClass().getResource("/package/my_reource.file").getFile()

您应该使用

getClass.getResourceAsStream("/package/myresource.file")

检查您的罐子。我相信您的文件不存在。原因取决于您如何创建罐子。如果您使用NetBeans进行操作,请检查您的设置。可能仅包含 *.class文件?也是关于蚂蚁的。检查标签。

getFile()返回getResource()返回的URL的文件路径部分,因此,如果其在JAR中,则必须读取JAR才能获取他的文件。如果在文件系统上,则可以使用FileInputStream阅读。

如果您想获得输入流,并且不会从使用GetResourCeasStream()创建在哪里获得它的位置

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top