WEB开发网
开发学院WEB开发Jsp java中Properties类的使用 阅读

java中Properties类的使用

 2008-01-05 20:38:44 来源:WEB开发网   
核心提示:package com.adrop.util; import java.io.*;import java.util.PRoperties;import javax.servlet.http.*;import javax.servlet.*;import javax.servlet.jsp.*; public class

package com.adrop.util;

 

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

  }

}



Tags:java Properties 使用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接