zoukankan      html  css  js  c++  java
  • 使用ClassLoader类装载器获取系统资源

    分类: 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 

     
  • 相关阅读:
    C# 使用SqlBulkCopy类批量复制大数据 快速导入Excel大量数据
    Git的安装与使用
    未能加载文件或程序集“Microsoft.VisualStudio.Web.PageInspector.Loader, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项。
    Android SDK Manager不能显示所有包的解决办法
    editor多功能文本框在有些计算机上不能正常加载,解决方法,本人用的是把js调用方法放到<body></body>后面)
    MVC URL参数传递+变为空格解决方法
    SQL 查询不重复数据
    Java基本数据类型取值范围
    统计数组中的逆数对个数
    Docker 安装 ElasticSearch
  • 原文地址:https://www.cnblogs.com/developer-ios/p/5820625.html
Copyright © 2011-2022 走看看