博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
properties文件读写工具类PropertiesUtil.java
阅读量:5120 次
发布时间:2019-06-13

本文共 3021 字,大约阅读时间需要 10 分钟。

import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.util.Properties;/** *  * @author   * */public class PropertiesUtil {        private String properiesName = "";    public PropertiesUtil() {    }        public PropertiesUtil(String fileName) {        this.properiesName = fileName;    }        /**     * 按key获取值     * @param key     * @return     */    public String readProperty(String key) {        String value = "";        InputStream is = null;        try {            is = PropertiesUtil.class.getClassLoader().getResourceAsStream(properiesName);            Properties p = new Properties();            p.load(is);            value = p.getProperty(key);        } catch (IOException e) {            e.printStackTrace();        } finally {            try {                is.close();            } catch (IOException e) {                e.printStackTrace();            }        }        return value;    }    /**     * 获取整个配置信息     * @return     */    public Properties getProperties() {        Properties p = new Properties();        InputStream is = null;        try {            is = PropertiesUtil.class.getClassLoader().getResourceAsStream(properiesName);            p.load(is);        } catch (IOException e) {            e.printStackTrace();        } finally {            try {                is.close();            } catch (IOException e) {                e.printStackTrace();            }        }        return p;    }    /**     * key-value写入配置文件     * @param key     * @param value     */    public void writeProperty(String key, String value) {        InputStream is = null;        OutputStream os = null;        Properties p = new Properties();        try {            is = new FileInputStream(properiesName);//            is = PropertiesUtil.class.getClassLoader().getResourceAsStream(properiesName);            p.load(is);//            os = new FileOutputStream(PropertiesUtil.class.getClassLoader().getResource(properiesName).getFile());            os = new FileOutputStream(properiesName);            p.setProperty(key, value);            p.store(os, key);            os.flush();            os.close();        } catch (Exception e) {            e.printStackTrace();        } finally {            try {                if (null != is)                    is.close();                if (null != os)                    os.close();            } catch (IOException e) {                e.printStackTrace();            }        }    }    public static void main(String[] args) {        // sysConfig.properties(配置文件)        PropertiesUtil p = new PropertiesUtil("sysConfig.properties");        System.out.println(p.getProperties().get("db.url"));        System.out.println(p.readProperty("db.url"));        PropertiesUtil q = new PropertiesUtil("resources/sysConfig.properties");        q.writeProperty("myUtils", "wang");        System.exit(0);    }}

 

转载于:https://www.cnblogs.com/xiehongwei/p/7978075.html

你可能感兴趣的文章
12 认识进程与线程 (进阶)
查看>>
springMVC框架返回JSON到前端日期格式化
查看>>
一天一道算法题--5.28--字符串的映射
查看>>
E20180305-hm-xa
查看>>
JavaScript 权威指南(4): JavaScript 的作用域和提升
查看>>
php写购物车(思路&源码)
查看>>
设置 UILabel 和 UITextField 的 Padding 或 Insets (理解UIEdgeInsets)
查看>>
KMP算法
查看>>
离线缓存 application cache
查看>>
AsyncTask和Handler
查看>>
读书笔记
查看>>
第三篇 Flask 中的模板语言 Jinja2 及 render_template 的深度用法
查看>>
小学课程资源网
查看>>
Django + Mysql 中关于时间异常返回500错误的解决
查看>>
北京集训:20180325
查看>>
KVO
查看>>
鱼眼菜单Demo
查看>>
堆排序
查看>>
mysql基础之锁协议,事务隔离级别,加锁顺序
查看>>
判断你的设备是iPhone还是iPod
查看>>