加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java对properties文件进行解析

发布时间:2020-12-14 23:23:54 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOExc

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

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源码有解释。

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读