<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    kooyee ‘s blog

    開源軟件, 眾人努力的結(jié)晶, 全人類的共同財(cái)富
    posts - 103, comments - 55, trackbacks - 0, articles - 66
       :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    【Java】properties的使用

    Posted on 2007-10-05 23:15 kooyee 閱讀(765) 評(píng)論(1)  編輯  收藏 所屬分類: Java
    由于經(jīng)常從文本讀寫屬性設(shè)置到代碼中,所以利用java的properties類帶取代對(duì)文件的操作。

    首先建立properties文本文件并輸入
    Host_name = database name...
    username = 用戶名
    password = 密碼

    讀取properties文件的代碼
    Properties props =  new Properties();
            props.load(
    new FileInputStream("./database.properties"));
            hostname 
    = props.getProperty("Host_name");
            username 
    = props.getProperty("User_name");
            password 
    = props.getProperty("Password");

    這樣在code外部(在properties文本文件中)修改屬性后, 通過(guò)properties導(dǎo)入到代碼中對(duì)應(yīng)的值里。

    java properties 類
    private FileOutputStream out;

      
    /**

       * 根據(jù)傳進(jìn)的文件名載入文件

       * 
    @param fileName String

       
    */


      
    public PropertiesUtil(String fileName) {

        
    this.fileName=fileName;

        File file 
    = new File(fileName);

        
    try {

          in 
    = new FileInputStream(file);

          p 
    = new Properties();

          
    //載入文件

          p.load(in);

          in.close();

        }


        
    catch (FileNotFoundException e) {

          System.err.println(
    "配置文件config.properties找不到!!");

          e.printStackTrace();

        }


        
    catch (Exception e) {

          System.err.println(
    "讀取配置文件config.properties錯(cuò)誤!!");

          e.printStackTrace();

        }


      }


     

      
    /**

       * 配置文件一律為config.propertities,并且統(tǒng)一放在web應(yīng)用的根目錄下。

       * 
    @return String

       
    */


      
    public static String getConfigFile(HttpServlet hs) {

     

        
    return getConfigFile(hs,"config.properties");

      }


      
    /**

       * 在servlet中使用,直接用this作為參數(shù),HttpServlet類型

       * 根據(jù)配置文件名從當(dāng)前web應(yīng)用的根目錄下找出配置文件

       * 
    @param hs HttpServlet

       * 
    @param configFileName String配置文件名字

       * 
    @return String

       
    */


      
    public static String getConfigFile(HttpServlet hs, String configFileName) {

        String configFile 
    = "";

        ServletContext sc 
    = hs.getServletContext();

        configFile 
    = sc.getRealPath("/" + configFileName);

        
    if (configFile == null || configFile.equals("")) {

          configFile 
    = "/" + configFileName;

        }


        
    return configFile;

      }


      
    /**

       * jsp中用pageContext作參數(shù)

       * 
    @param hs PageContext

       * 
    @param configFileName String 配置文件名字

       * 
    @return String

       
    */


      
    public static String getConfigFile(PageContext hs, String configFileName) {

        String configFile 
    = "";

        ServletContext sc 
    = hs.getServletContext();

        configFile 
    = sc.getRealPath("/" + configFileName);

        
    if (configFile == null || configFile.equals("")) {

          configFile 
    = "/" + configFileName;

        }


        
    return configFile;

      }


     

      
    /**

       * 列出所有的配置文件內(nèi)容

       
    */


      
    public void list() {

        p.list(System.out);

      }


     

      
    /**

       * 指定配置項(xiàng)名稱,返回配置值

       * 
    @param itemName String

       * 
    @return String

       
    */


      
    public String getValue(String itemName){

        
    return p.getProperty(itemName);

      }


     

      
    /**

       * 指定配置項(xiàng)名稱和默認(rèn)值,返回配置值

       * 
    @param itemName String

       * 
    @param defaultValue String

       * 
    @return String

       
    */


      
    public String getValue(String itemName,

                             String defaultValue)
    {

        
    return p.getProperty(itemName,defaultValue);

      }


     

      
    /**

       * 設(shè)置配置項(xiàng)名稱及其值

       * 
    @param itemName String

       * 
    @param value String

       
    */


      
    public void setValue(String itemName,String value){

        p.setProperty(itemName,value);

        
    return;

      }


     

      
    /**

       * 保存配置文件,指定文件名和抬頭描述

       * 
    @param fileName String

       * 
    @param description String

       * 
    @throws Exception

       
    */


      
    public void saveFile(String fileName,String description)throws Exception{

        
    try {

          File f
    =new File(fileName);

          out

              
    = new FileOutputStream(f);

          p.store(out, description);
    //保存文件

          out.close();

        }


        
    catch (IOException ex) {

          
    throw new Exception

              (
    "無(wú)法保存指定的配置文件:"+fileName);

        }


      }


     

      
    /**

       * 保存配置文件,指定文件名

       * 
    @param fileName String

       * 
    @throws Exception

       
    */


      
    public void saveFile(String fileName)

          
    throws Exception {

        saveFile(fileName,
    "");

      }


     

      
    /**

       * 保存配置文件,采用原文件名

       * 
    @throws Exception

       
    */


      
    public void saveFile() throws Exception {

        
    if(fileName.length()==0)

          
    throw new Exception

              (
    "需指定保存的配置文件名");

        saveFile(fileName);

      }


      
    /**

       * 刪除一個(gè)屬性

       * 
    @param value String

       
    */


      
    public void deleteValue(String value){

        p.remove(value);

      }


      
    /**

       * main method for test

       * 
    @param args String[]

       
    */


      
    public static void main(String[] args) {

        String file 
    = "f:\\p.properties";

        PropertiesUtil pu 
    = new PropertiesUtil(file);

        pu.list();

      }


    }

    評(píng)論

    # re: 【Java】properties的使用  回復(fù)  更多評(píng)論   

    2008-03-31 18:50 by 日月雨林
    謝謝啊,最近正在學(xué)習(xí)如何使用properties呢
    主站蜘蛛池模板: 国产片AV片永久免费观看| 永久免费av无码网站大全| 国产亚洲福利一区二区免费看| 亚洲精品国产品国语在线| 国产成人精品日本亚洲11| 污网站在线观看免费| 日本阿v免费费视频完整版| 亚洲精品高清在线| 亚洲日本在线免费观看| 日韩在线视频免费| 美女网站免费福利视频| 亚洲欧洲无码AV电影在线观看| 亚洲色www永久网站| 爽爽爽爽爽爽爽成人免费观看| 天天摸夜夜摸成人免费视频 | 免费观看成人毛片a片2008| 久久久青草青青国产亚洲免观 | 免费A级毛片在线播放| 免费在线观看理论片| 亚洲国产中文在线视频| 久青草视频在线观看免费| 免费羞羞视频网站| 亚洲色图校园春色| www永久免费视频| 在线观看免费毛片| 亚洲视频在线观看免费视频| 国产免费内射又粗又爽密桃视频| 成人男女网18免费视频| 97亚洲熟妇自偷自拍另类图片| 一级全免费视频播放| 在线免费观看一级片| 亚洲白色白色永久观看| 18禁在线无遮挡免费观看网站| 国产极品美女高潮抽搐免费网站| 亚洲精品高清国产麻豆专区| 99久久99这里只有免费的精品 | 亚洲毛片不卡av在线播放一区| 亚洲一区二区三区高清不卡 | 99re这里有免费视频精品| 亚洲人成中文字幕在线观看 | 国产成人亚洲精品播放器下载|