10.1.3 资源 额外的信息文件被称作资源。 图像、声音、视频等多媒体文件 消息提示配置文件 地图布局文件 使用资源的操作步骤: 获得具有资源的类的Class文件 XX.class getresource(filename
10.1.3 资源
额外的信息文件被称作资源。
- 图像、声音、视频等多媒体文件
- 消息提示配置文件
- 地图布局文件
使用资源的操作步骤:
加载资源:
URL url = ResourceTest.class.getResource("about.gif");Image img = Toolkit.getDefaultToolkit().getImage(url);
读取文件:
InputStream stream = ResourceTest.class.getResourceAsStream("about.txt");Scanner in = new Scanner(stream);
示例程序:
示例程序命令:
javac ResourceTest.javajar cvfm ResourceTest.jar ResourceTest.mf *.class *.gif *.txt
java -jar ResourceTest.jarimport javax.swing.*;
import java.awt.*;
import java.io.InputStream;
import java.net.URL;
import java.util.Scanner;
public class ResourceTest {
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
ResourceTestFrame frame = new ResourceTestFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
});
}
}
class ResourceTestFrame extends JFrame{
public static final int W = 300;
public static final int H = 300;
public ResourceTestFrame(){
setTitle("ResourceTest");
setSize(W,H);
//动图不行,显示不出不报错
//使用 getClass() 不行,要用 ResourceTestFrame.class
// System.out.println(ResourceTestFrame.class.getResource("about.gif"));
URL aboutURL = ResourceTestFrame.class.getResource("tt.png");
Image img = Toolkit.getDefaultToolkit().getImage(aboutURL);
// setIconImage(new ImageIcon("./leetcode/editor/cn/com/book/tt.png").getImage());
setIconImage(img);
JTextArea textArea = new JTextArea();
InputStream stream = getClass().getResourceAsStream("about.txt");
Scanner in = new Scanner(stream);
while(in.hasNext()){
textArea.append(in.nextLine()+"\n");
add(textArea);
}
}
}
调试小坑介绍:
相关内容:选择 《Java核心技术 卷1》查找相关笔记
评论