分类: 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. 【BZOJ3926】【ZJOI2015】诸神眷顾的幻想乡 广义后缀自动机

    题目: 题目在这里 思路&做法: 参考的题解 既然只有\(20\)个叶子节点, 那么可以从每个叶子节点往上建一颗\(trie\)树, 然后合并成一棵大的\(trie\)树, 然后构建广义后缀自 ...

  2. HUdson2092整数解

    2019-05-17 16:04:37 加油,坚持就是胜利,fightting m / i的情况,i可能等于0 #include <bits/stdc++.h> using namespa ...

  3. 前端分页功能实现(PC)

    <!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>加 ...

  4. [转]C# ListView 单击标题实现排序(在转载的基础上有所完善)

    using System; using System.Collections; using System.Windows.Forms; //在转载的基础上有所完善 namespace TDRFacto ...

  5. vue2.x阅读笔记

    v-once 作用: 只赋值一次 注意: 包括子项都是只赋值一次 模板 1.v-text v-html 2.{}语法 3.如果是html的属性,则用v-bind绑定,简写: 注意: 1.可以使用jav ...

  6. Java基础9一面向对象

    继承 1.特点 a) 要有一定的层次结构,并且具备可传递性. b) 判断两者之间是否有继承关系通过is-a来判断. c) 子类继承了父类,那么子类就继承了父类中所有的属性和方法,但是父类中的私有属性和 ...

  7. css3动画简单案例

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. UML+模式设计概述

    转自于:http://blog.csdn.net/rexuefengye/article/details/13020225 工程学:工程庞大到一定程度必须是用工程学方法,好比直接用水泥沙子建设实用的摩 ...

  9. CorelDRAW最高立返500元!还剩30个名额!速抢!

    由于上月CDR X7返利活动收获众多好评 本月官方继续将活动进行到底! 而此次活动不但有上月意犹未尽的CDR X7版,更增加了CDR X6.CDR 2017以及可望不可即的CDR 2018版,可谓是优 ...

  10. 面试题-mysql

      Sql :UPDATE test SET sex = CASE sex WHEN 'm' THEN 'f' ELSE 'm' END;