Properties文件解析

package com.winskysoft.bbk.tools;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServlet;

/**
 * 读取配置文件
 *
 */
public class PropertiesUtil {
	private String filename;
	private Properties p;
	private FileInputStream in;
	private FileOutputStream out;

	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 (IOException e) {
			System.err.println("读取配置文件config.properties错误!");
			e.printStackTrace();
		}
	}
	
	public PropertiesUtil(InputStream in){
		try {
			p = new Properties();
			p.load(in);
		} catch (IOException e) {
			System.err.println("读取配置文件config.properties错误!");
			e.printStackTrace();
		}
		
	}

	public static String getConfigFile(HttpServlet hs) {
		return getConfigFile(hs, "config.properties");
	}

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值