0
点赞
收藏
分享

微信扫一扫

《Java 核心技术 卷1》 笔记 第10章 部署应用程序和applet(2) 子目录获取与打包


《Java 核心技术 卷1》 笔记 第10章 部署应用程序和applet(2) 子目录获取与打包_java

10.1.3 资源

额外的信息文件被称作资源。

  • 图像、声音、视频等多媒体文件
  • 消息提示配置文件
  • 地图布局文件

使用资源的操作步骤:

  1. 获得具有资源的类的Class文件 XX.class
  2. getresource(filename)定义资源的位置
  3. getResourceAsStream()读取文件中的数据

加载资源:

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.java
jar cvfm ResourceTest.jar ResourceTest.mf *.class *.gif *.txt
java -jar ResourceTest.jar

import 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);
}
}
}

调试小坑介绍:

  1. Gif 图加载失败(可能不用动图可以,动图失败)
  2. getClass().getResource 失败,要用 ResourceTestFrame.class
  3. 目录在同一文件夹
  4. java -Dfile.encoding=utf-8 -jar ResourceTest.jar 注意如果不加编码文件读入的文本会乱码

相关内容:选择 《Java核心技术 卷1》查找相关笔记

评论🌹点赞👍收藏✨关注👀,是送给作者最好的礼物,愿我们共同学习,一起进步

公众号 钰娘娘知识汇总 

《Java 核心技术 卷1》 笔记 第10章 部署应用程序和applet(2) 子目录获取与打包_ico_02

举报

相关推荐

0 条评论