溫馨提示:您的每一次轉載,體現(xiàn)了我寫此文的意義!!!煩請您在轉載時注明出處http://www.aygfsteel.com/sxyx2008/謝謝合作!!!

          雪山飛鵠

          溫馨提示:您的每一次轉載,體現(xiàn)了我寫此文的意義!!!煩請您在轉載時注明出處http://www.aygfsteel.com/sxyx2008/謝謝合作!!!

          BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
            215 Posts :: 1 Stories :: 674 Comments :: 0 Trackbacks
          package com.future.util;

          import java.io.FileNotFoundException;
          import java.io.IOException;
          import java.io.InputStream;
          import java.util.Properties;

          /**
           * 讀取資源配置文件
           * 
          @author coder
           *
           
          */

          @SuppressWarnings(
          "serial")
          public class CommonPropertiesUtil {

              @SuppressWarnings(
          "static-access")
              
          public static String getContextPath(){
                  String contextPath
          ="";
                  
          try {
                      
                      
          //加載src目錄下的文件的幾種方式
                      
                      
          //注意當使用getClass()方式而不是getClassLoader()時資源文件前的"/"不能省略
                      
                      
          //InputStream stream=this.getClass().getResourceAsStream("/common.properties");
                      
                      
          //InputStream stream=Thread.currentThread().getClass().getResourceAsStream("/common.properties");
                      
                      InputStream stream
          =Thread.currentThread().getContextClassLoader().getResourceAsStream("common.properties");
                      
                      
          //謹記這種方式是錯誤的
                      
          //InputStream stream=Thread.currentThread().getClass().getClassLoader().getResourceAsStream("common.properties");
                      
                      
          //InputStream stream=Thread.currentThread().getClass().getClassLoader().getSystemResourceAsStream("common.properties");
                      
                      
          //InputStream stream=this.getClass().getClassLoader().getSystemResourceAsStream("common.properties");
                      
                      
          //InputStream stream=this.getClass().getClassLoader().getResourceAsStream("common.properties");
                      
                      
          //InputStream stream=this.getClass().getClassLoader().getSystemResourceAsStream("common.properties");
                      
                      
          //InputStream stream=CommonPropertiesUtil.class.getClassLoader().getResourceAsStream("common.properties");
                      
                      
          //InputStream stream=CommonPropertiesUtil.class.getClass().getClassLoader().getSystemClassLoader().getResourceAsStream("common.properties");
                      
                      
          //InputStream stream=CommonPropertiesUtil.class.getClass().getClassLoader().getSystemClassLoader().getSystemResourceAsStream("common.properties");
                      
                      Properties properties
          =new Properties();
                      properties.load(stream);
                      
                      contextPath
          =properties.getProperty("contextPath");
                      
                      System.out.println(contextPath);
                  }
           catch (FileNotFoundException e) {
                      e.printStackTrace();
                  }
           catch (IOException e) {
                      e.printStackTrace();
                  }

                  
                  
          return contextPath;
              }
           
              
              
          public static void main(String[] args) {
                  getContextPath();
              }

              
          }


                  注:當直接使用getClass()而不是getClassLoader()方法時括號中資源文件名稱前的/不能省略
                  
          posted on 2010-08-02 10:11 雪山飛鵠 閱讀(5393) 評論(1)  編輯  收藏 所屬分類: javase

          Feedback

          # re: Java加載src目錄下文件的幾種方式,談談你的見解 2010-08-02 13:21 Mercy
          博主的方法也又一點小小的問題,

          如果執(zhí)行并且沒有限制RuntimePermission("setContextClassLoader")的話:
          Thread.currentThread().setContextClassLoader(null);

          那么NullPointerException就會被raised.

          所以,還要利用
          ClassLoader.getSystemClassLoader()來彌補這個問題。  回復  更多評論
            

          主站蜘蛛池模板: 蚌埠市| 乐清市| 岢岚县| 莒南县| 富锦市| 洪湖市| 新兴县| 辽宁省| 岳西县| 梅州市| 扶风县| 宁南县| 澄迈县| 肥西县| 股票| 恩平市| 枞阳县| 读书| 墨竹工卡县| 吉木萨尔县| 开阳县| 吉安市| 乌鲁木齐市| 高州市| 大城县| 靖安县| 开阳县| 皮山县| 夏邑县| 陕西省| 巩留县| 桦甸市| 上犹县| 高要市| 钦州市| 郴州市| 台山市| 赣州市| 依兰县| 伊宁县| 治多县|