2012-03-05 138 views
1

我正在创建一个游戏作为项目,并且我已经完成了代码并进行了调试。我遇到的问题是使代码运行一个jar。我知道错误是途径的图像是错误的,当我出口它作为一个可运行jar文件(使用eclipse出口),但我不知道有什么途径是把我的ImageIO.read(new File("pathway/filename.jpg"));.jar文件的路径

+1

您应该将图像作为资源加载,而不是文件。 – 2012-03-05 22:15:43

+0

我该怎么做? – 2012-03-05 22:17:19

+0

我不知道我明白这个问题,但我认为你正在寻找ClassLoader.getResourceAsStream() - http://stackoverflow.com/questions/793213/getting-the-inputstream-from-a-classpath-resource -xml-file – theglauber 2012-03-05 22:18:29

回答

2

"Accessing Resources"从文档。

你想要ClassLoader.getResource()的一些变种,尽管你是通过类加载器还是类来访问取决于你想要如何打包东西。以下是我通常所做的:

InputStream resourceStream 
        = MyClass.class.getResourceAsStream("/pathway/in/jar/filename.jpg"); 
BufferedImage image = ImageIO.read(resourceStream); 
+0

对于in/jar,你是在/ jar还是像/ jarname.extension中说的? – 2012-03-05 22:30:53

+0

如果jar中的路径是“/images/filename.jpg”,那么我会用它作为参数。 – 2012-03-05 23:01:05

+0

好的,谢谢,这是我的第二年Java,并没有远过我的学校子集。 – 2012-03-05 23:46:28