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 

     
  • 相关阅读:
    【PAT甲级】1043 Is It a Binary Search Tree (25 分)(判断是否为BST的先序遍历并输出后序遍历)
    Educational Codeforces Round 73 (Rated for Div. 2)F(线段树,扫描线)
    【PAT甲级】1042 Shuffling Machine (20 分)
    【PAT甲级】1041 Be Unique (20 分)(多重集)
    【PAT甲级】1040 Longest Symmetric String (25 分)(cin.getline(s,1007))
    【PAT甲级】1039 Course List for Student (25 分)(vector嵌套于map,段错误原因未知)
    Codeforces Round #588 (Div. 2)E(DFS,思维,__gcd,树)
    2017-3-9 SQL server 数据库
    2017-3-8 学生信息展示习题
    2017-3-5 C#基础 函数--递归
  • 原文地址:https://www.cnblogs.com/developer-ios/p/5820625.html
Copyright © 2011-2022 走看看