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);
}
}
Properties文件解析
最新推荐文章于 2022-12-25 11:26:13 发布