如何读取jar包中的图片?
一、首先,在eclipse中正常读取图片(用swing图形界面来测试)。
1、目录结构如下图所示:
test为工程名,测试类为photo.ReadTest,图片文件为img\test.png。
2、代码如下所示:
package photo;
import java.io.File;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
public class ReadTest extends JFrame{
private static final long serialVersionUID = 1L;
public ReadTest(){
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
setTitle("测试读取jar内图片");
JButton but = new JButton();
//给按钮设置图片
String path = "img" + File.separator + "test.png";
but.setIcon(new ImageIcon(path));
//
getContentPane().add(but);
setLocation(300,300);
setSize(300,300);
}
public static void main(String[] args) {
new ReadTest().setVisible(true);
}
}
那么,如上“给按钮设置图片”处代码,读取eclipse相对路径(工程文件夹下)的img\test.png图片文件,显然是可以成功的。运行结果如下所示:
3、用eclipse导出为jar包,phototest.jar,其结构如下: