Java如何在jar文件中使用图像

时间:2013-03-15 02:09:30

标签: java embedded-resource

我正在使用JFrame制作游戏,该游戏会加载要显示的图像。然后当我试图运行程序时,它没有在jar中找到图像。那么,如何从jar中检索文件?是/img.png还是img.png还是\\img.png?我只是不知道java中的路径是如何工作的。

(编辑)想出来。

2 个答案:

答案 0 :(得分:0)

/img.png是正确的。你是怎么试图加载它的?您需要使用一个知道该JAR文件的类加载器来获取图像文件。

试试这个方法:

http://docs.oracle.com/javase/6/docs/api/java/lang/ClassLoader.html#getResourceAsStream(java.lang.String)

尝试这样的事情,假设JAR文件在你的类路径中。

public class MyClass {
    public static void main(String[] args) {
        InputStream is = MyClass.class.getClassLoader().getResourceAsStream("/img.png");
        // read in the data stream
    }
}

答案 1 :(得分:0)

例如,这是jar文件结构

Jar File Stucture

确保jar在类路径中,然后像这样编码

String file01="tom.txt";
String file02="com/paic/jerry.txt";  
InputStream tom=this.getClass().getClassLoader().getResourceAsStream(file01);
InputStream jerry=this.getClass().getClassLoader().getResourceAsStream(file02);