欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

java对properties文件进行解析,javaproperties,import java.

来源: javaer 分享于  点击 41909 次 点评:126

java对properties文件进行解析,javaproperties,import java.


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源码有解释。
相关栏目:

用户点评