在我的项目中,我使用
getClass().getResource("/package/my_reource.file").getFile()
当我在 netbeans 中运行项目时一切正常,但是如果我运行 jar 文件,我得到 FileNotFoundException,为什么?
谢谢。
在我的项目中,我使用
getClass().getResource("/package/my_reource.file").getFile()
当我在 netbeans 中运行项目时一切正常,但是如果我运行 jar 文件,我得到 FileNotFoundException,为什么?
谢谢。
你可以使用InputStream
而不是getClass().getResource("/package/my_reource.file").getFile()
你应该使用
getClass.getResourceAsStream("/package/myresource.file")
我认为您不需要文件名。你宁愿需要它的内容。所以getResourceAsStream()
用来获取InputStream
并从那里读取内容。
检查你的罐子。我相信您的文件不存在。原因取决于您如何创建 jar。如果您使用 netbeans 执行此操作,请检查您的设置。可能它只包含 *.class 文件?关于蚂蚁也是如此。检查标签。
getFile() 返回由 getResource() 返回的 URL 的文件路径部分,因此如果它在 Jar 中,您必须读取 jar 才能获取文件。如果它在文件系统上,您可以使用 FileInputStream 读取。
如果您想获取 InputStream 并且您没有创建从使用 getResourceAsStream() 的位置