- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.UnsupportedEncodingException;
- import java.util.Enumeration;
- import java.util.Properties;
- public class PropertiesUtil {
- private String filename = "e:/temp/config.properties";
- // private String filename = "config.properties";
- private Properties p;
- private FileInputStream in;
- private FileOutputStream out;
- public PropertiesUtil() {
- 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 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 getNameValuePair() {
- Enumeration<Object> enumKeys= p.keys();
- while(enumKeys.hasMoreElements()) {
- String key= (String)enumKeys.nextElement();
- try {
- //p.getProperty(key)本身解析的时候可能已经做过一次转码转码方式可能就是ISO8859-1所以得先通过这种转码过来
- System.out.println(key+"--->"+new String(p.getProperty(key).getBytes("ISO8859-1"), "gbk"));
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- }
- }
- }
- 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[] A) {
- PropertiesUtil propertiesUtil = new PropertiesUtil();
- propertiesUtil.getNameValuePair();
- }
- }
- //另外有人说properties文件的写法:name=value还有人说name:value有人说只能是其中一种其实都行properties源码有解释。
来源: http://www.phpxs.com/code/1001944/