分类: 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. Top 5 Timed Events[转]

    Event                                               Waits    Time (s) Ela Time --------------------- ...

  2. linux系统在线搭建禅道

    1.先安装wget:yum -y install wget 2.下载安装禅道:[root@zhaowen ~]# wget http://dl.cnezsoft.com/zentao/9.0.1/Ze ...

  3. TensorFlow——分布式的TensorFlow运行环境

    当我们在大型的数据集上面进行深度学习的训练时,往往需要大量的运行资源,而且还要花费大量时间才能完成训练. 1.分布式TensorFlow的角色与原理 在分布式的TensorFlow中的角色分配如下: ...

  4. guice基本使用,配置模块的两种方式(三)

    guice是使用module进行绑定的,它提供了两种方式进行操作. 第一种是继承AbstractModule抽象类. package com.ming.user.test; import com.go ...

  5. Codeforces Round #447

    QAQ #include<stdio.h> #include<string.h> #include<stdlib.h> #include<vector> ...

  6. 【JavaScript从入门到放弃】JS基础-01

    作为一个前端开发人员,JS是我们行走江湖吃饭的家伙.基本上一个前端人员能值多少大洋,就看JS了.虽然各种框架层出不穷,但是归根结底学好原生JS才是硬道理. 学习任何新东西其实都遵循 10000 小时成 ...

  7. Module, Package in Python

    1.To put it simple, Module是写好的一系列函数或变量,文件以.py为后缀,可以在其他Module中整体或部分引用. PS: 在Module中[结尾或开头]加入if __name ...

  8. 关于生sql中的空值

    在数据库中的空值无非就是两种形式的表示 一种是什么都没有,一种是以NuLL显示的 , 那么在C# 读取出来怎么判断呢, DtStatus.Rows[0]["FetchCode"]. ...

  9. 转/ C# 托管资源和非托管资源

    原文 对于这两个一直就是模模糊糊的,半知零解 托管资源指的是.NET可以自动进行回收的资源,主要是指托管堆上分配的内存资源.托管资源的回收工作是不需要人工干预的,由.NET运行库在合适时调用垃圾回收器 ...

  10. MySQL 5.6 Reference Manual-14.4 InnoDB Configuration

    14.4 InnoDB Configuration 14.4.1 InnoDB Initialization and Startup Configuration 14.4.2 Configuring ...