0

在我的项目中,我使用

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

当我在 netbeans 中运行项目时一切正常,但是如果我运行 jar 文件,我得到 FileNotFoundException,为什么?

谢谢。

4

4 回答 4

2

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

你应该使用

getClass.getResourceAsStream("/package/myresource.file")
于 2012-02-15T14:50:41.833 回答
1

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

于 2010-12-11T12:39:13.050 回答
0

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

于 2010-12-11T12:33:03.990 回答
0

getFile() 返回由 getResource() 返回的 URL 的文件路径部分,因此如果它在 Jar 中,您必须读取 jar 才能获取文件。如果它在文件系统上,您可以使用 FileInputStream 读取。

如果您想获取 InputStream 并且您没有创建从使用 getResourceAsStream() 的位置

于 2010-12-11T12:41:00.053 回答