您的位置:首页 > 编程语言 > Java开发

·Java读取properties文件

2005-05-13 10:50 525 查看
Java对properties配置文件的操作

/*

 * Created on 2005-1-4

 *

 * TODO To change the template for this generated file go to

 * Window - Preferences - Java - Code Style - Code Templates

 */

package com.yorsun;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.util.Properties;

import javax.servlet.ServletContext;

import javax.servlet.http.HttpServlet;

/**

 * @author Administrator

 *

 * TODO To change the template for this generated type comment go to Window -

 * Preferences - Java - Code Style - Code Templates

 */

public class PropertiesUnit {

 private String filename;

 private Properties p;

 private FileInputStream in;

 private FileOutputStream out;

 public PropertiesUnit(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) {

   // TODO Auto-generated catch block

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

   e.printStackTrace();

  } catch (IOException e) {

   // TODO Auto-generated catch block

   System.err.println("读取配置文件config.properties错误!");

   e.printStackTrace();

  }

 }

 public static String getConfigFile(HttpServlet hs) {

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

 }

 /**

  * @param hs

  * @param configFileName

  * @return configFile

  */

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

  String configFile = "";

  ServletContext sc = hs.getServletContext();

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

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

   configFile = "/" + configFileName;

  }

  // TODO Auto-generated method stub

  return configFile;

 }

 public void list() {

  p.list(System.out);

 }

 public String getValue(String itemName) {

  return p.getProperty(itemName);

 }

 public String getValue(String itemName, String defaultValue) {

  return p.getProperty(itemName, defaultValue);

 }

 public void setValue(String itemName, String value) {

  p.setProperty(itemName, value);

 }

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

  }

 }

 

 public void saveFile(String filename) throws Exception{

  saveFile(filename,"");

 }

 

 public void saveFile() throws Exception{

  if(filename.length()==0)

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

  saveFile(filename);

 }

 

 public void deleteValue(String value){

  p.remove(value);

 }

 

 public static void main(String args[]){

  String file="/eclipse/workspace/NewsTest/WEB-INF/config.properties";

//  String file="D:\\eclipse\\workspace\\NewsTest\\WEB-INF\\config.properties";

  PropertiesUnit pu=new PropertiesUnit(file);

  pu.list();

 }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: