Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2498112
  • 博文数量: 319
  • 博客积分: 9650
  • 博客等级: 中将
  • 技术积分: 3881
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-27 21:05
文章分类

全部博文(319)

文章存档

2017年(5)

2016年(10)

2015年(3)

2014年(3)

2013年(10)

2012年(26)

2011年(67)

2010年(186)

2009年(9)

分类: Java

2010-05-11 16:19:39

/*
ClassLoader 有两种方法获得系统资源,一个种静态方法,一种是实例方法。

静态方法:

URL getSystemResource(String)
InputStream getSystemResourceAsSteam(String)

实例方法:

URL getResource(String)
InputStream getResourceAsStream(String)

下面是用实例方法载入资源的代码:
*/

import java.net.*;
import java.awt.*;
import javax.swing.*;
import java.io.*;
import java.util.*;

/** 演示使用类装载器的getResource()方法装载文件
 * 例如在Java Web Start中装入资源时需要这样做。
 */
public class GetResourceDemo extends JPanel{
         
public static void main(String[] args) {
new GetResourceDemo().demo();
}

/** The demo itself */
public void demo() {
                    //从文件中装入图像,使用类装载器的getResource()方法打开文件
                    Image image;
                    ClassLoader classLoader = this.getClass().getClassLoader();
                    URL url= classLoader.getResource("022.jpg");
                    image=getToolkit().getImage(url);
                    ImageIcon ico=new ImageIcon(image);
                    System.out.println("OK load image");

                    //从文件中装入属性,使用类装载器的getResourceAsStream()方法。
                    InputStream is = classLoader.getResourceAsStream("widgets.properties");
                    if (is == null) {
                             System.err.println("Can't load propertiesfile");
                             return;
                    }

                   // 创建属性对象
                   Properties p = new Properties();
                   try {
                         p.load(is);
                   } catch (IOException ex) {
                             System.err.println("Load failed: " + ex);
                             return;
                   }

                   p.list(System.out);
          }
}

运行结果:

C:\java>java   GetResourceDemo
OK load image
-- listing properties --
edit.name=Edit
copy.name=Copy
exit.name=Quit
open.name=Open
open.key=O
copy.key=C

C:\java>

附:widgets.properties
# A seriously abbreviated widgets file for use by GetResourceDemo.
open.name=Open
open.key=O
edit.name=Edit
copy.name=Copy
copy.key=C
exit.name=Quit

阅读(3249) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~