程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA編程入門知識 >> java中Properties類的使用

java中Properties類的使用

編輯:JAVA編程入門知識

  

package com.adrop.util;

<?XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> 

import Java.io.*;

import java.util.Properties;

import javax.servlet.http.*;

import javax.servlet.*;

import javax.servlet.jsp.*;

 

public class PropertiesUtil {

  private String fileName;

  private Properties p;

  private FileInputStream in;

  private FileOutputStream out;

  /**

   * 根據傳進的文件名載入文件

   * @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錯誤!!");

      e.printStackTrace();

    }

  }

 

  /**

   * 配置文件一律為config.propertities,並且統一放在web應用的根目錄下。

   * @return String

   */

  public static String getConfigFile(HttpServlet hs) {

 

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

  }

  /**

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

   * 根據配置文件名從當前web應用的根目錄下找出配置文件

   * @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作參數

   * @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;

  }

 

  /**

   * 列出所有的配置文件內容

   */

  public void list() {

    p.list(System.out);

  }

 

  /**

   * 指定配置項名稱,返回配置值

   * @param itemName String

   * @return String

   */

  public String getValue(String itemName){

    return p.getProperty(itemName);

  }

 

  /**

   * 指定配置項名稱和默認值,返回配置值

   * @param itemName String

   * @param defaultValue String

   * @return String

   */

  public String getValue(String itemName,

                         String defaultValue){

    return p.getProperty(itemName,defaultValue);

  }

 

  /**

   * 設置配置項名稱及其值

   * @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

          ("無法保存指定的配置文件:"+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);

  }

  /**

   * 刪除一個屬性

   * @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();

  }

}

  
  


 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved