分类: Java

/* 
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 

 

使用ClassLoader类装载器获取系统资源的更多相关文章

  1. class getResourceAsStream 和 classloader getResourceAsStream获取资源的不同

    工程目录结构: prj(工程根目录) cn json classloader GetResourceByClassAndClassLoader.Java beans.xml /** * */ pack ...

  2. Class.getResourceAsStream()与ClassLoader.getResourceAsStream()获取资源时的路径说明

    Class.getResourceAsStream(): com.xusweeter.iot.ws.vodafone.config.VodafoneServiceConfig.class.getRes ...

  3. Linux Shell获取系统资源使用百分比(CentOS)

    CPU使用率: top -b -n | | 内存使用率: free -m | grep '^-' | awk '{print $3/($3+$4)*100"%"}' IO使用率(F ...

  4. Python3 获取系统资源

    cpu disk mem import osimport psutilos.chdir(os.getcwd()) #cpu def get_cpu_info(): cpu_percent=psutil ...

  5. 类装载器ClassLoader

    类装载器工作机制 类装载器就是寻找类的节码文件并构造出类在JVM内部表示对象的组件.在Java中,类装载器把一个类装入JVM中,要经过以下步骤: [1.]装载:查找和导入Class文件: [2.]链接 ...

  6. Java类装载器ClassLoader

    类装载器工作机制 类装载器就是寻找类的节码文件并构造出类在JVM内部表示对象的组件.在Java中,类装载器把一个类装入JVM中,要经过以下步骤: [1.]装载:查找和导入Class文件: [2.]链接 ...

  7. 使用Class.getResource和ClassLoader.getResource方法获取文件路径

    自从转投Java阵营后,一直发下Java程序的路径读取异常麻烦,因此查阅了比较多的版本内容,整合了一份自己的学习笔记.主要使用Class及通过ClassLoader来动态获取文件路径. 查阅链接如下: ...

  8. 关于获取资源文件,Class.getResource和ClassLoader.getResource的区别

    原文同步发表至个人博客[夜月归途] 原文链接:http://www.guitu18.com/se/java/2019-02-22/29.html 作者:夜月归途 出处:http://www.guitu ...

  9. 【转载】使用Class.getResource和ClassLoader.getResource方法获取文件路径

    自从转投Java阵营后,一直发下Java程序的路径读取异常麻烦,因此查阅了比较多的版本内容,整合了一份自己的学习笔记.主要使用Class及通过ClassLoader来动态获取文件路径. 查阅链接如下: ...

随机推荐

  1. 基于Spring boot的web项目搭建教程(一)

    前言: 本教程参考了大量前辈的代码,在此不方便一一列举.本教程使用IDEA开发工具搭建项目,对于本人的IDEA已经集成了某些插件,比如Lombok,Thymeleaf,yml等插件,这些插件不在文中提 ...

  2. JDBC基础02

    今日知识 1. sql注入问题2. jdbc批处理3. 事务 SQL注入问题解决 1.什么是sql注入. * 用户通过相关的特殊关键字sql语句非法访问数据库 *例如: Xxx(' or '1'='1 ...

  3. 将实体类/匿名对象转换为SqlParameter列表

    每次操作数据库参数化实在是太麻烦了,于是自己瞎琢磨,琢磨出下面扩展方式,能力有限,还有不足之处,请多多指教. /// <summary> /// <remarks> /// & ...

  4. asp.net 字符串过滤

    /// <summary> /// 去除HTML标记 /// </summary> /// <param name="Htmlstring">包 ...

  5. lua中.和:的区别

    local myTable = {} function myTable:putMyname(val) print(val) print(self and self.name) end myTable. ...

  6. 利用JavaScript做无缝滚动

    <html> <head> <meta charset="utf-8"> <title>无标题文档</title> &l ...

  7. Android横屏时软键盘全屏问题

    1.使用 SearchView xml加入 android:imeOptions="actionDone|flagNoExtractUi" 可以限制软键盘禁止全屏 <andr ...

  8. Django mysql 改用pymysql 驱动

    DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', #数据库引擎 'NAME': 'test', #数据库名 'USER' ...

  9. 前端开发app

    1.如果是 Angular 那就选 Ionic (一对好 CP) 2.如果是 Vue 那就选 Vux (基于 WeUI)3.如果是 jQuery 那就选 Framework7 (iOS 和 Andro ...

  10. URLLib库使用

    Date: 2019-06-19 Author: Sun urllib ​ 在Python 3以后的版本中,urllib2这个模块已经不单独存在(也就是说当你import urllib2时,系统提示你 ...