`

(转)实现对Java配置文件Properties的读取、写入与更新操作

    博客分类:
  • java
 
阅读更多
public class OperSysProperty {
    //属性文件的路径
    static String profilepath="syscfg.properties";
    static String Object = "object";
    private static Properties props = new Properties();
    private static Properties proNum = new Properties();
    static {
        try {
            props.load(new FileInputStream(profilepath));
        } catch (FileNotFoundException e) {
            e.printStackTrace();
            System.exit(-1);
        } catch (IOException e) {        
            System.exit(-1);
        }
    }
    /**
    * 读取属性文件中相应键的值
    * @param key
    *            主键
    * @return String
    */
    public static String getKeyValue(String key) {
        return props.getProperty(key);
    }
    /**
    * 根据主键key读取主键的值value
    * @param filePath 属性文件路径
    * @param key 键名
    */ 
    public static String readValue(String filePath, String key) {
        Properties props = new Properties();
        try {
            InputStream in = new BufferedInputStream(new FileInputStream(
                    filePath));
            props.load(in);
            String value = props.getProperty(key);
            return value;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }
    /**
    * 更新(或插入)一对properties信息(主键及其键值)
    * 如果该主键已经存在,更新该主键的值;
    * 如果该主键不存在,则插件一对键值。
    */ 
    public static void writeProperties(String keyname,String keyvalue) {        
        try {
            OutputStream fos = new FileOutputStream(profilepath);
            props.setProperty(keyname, keyvalue);
            props.store(fos, "Update '" + keyname + "' value");
        } catch (IOException e) {
            System.err.println("属性文件更新错误");
        }
    }
    /**
    * 更新properties文件的键值对
    * 如果该主键已经存在,更新该主键的值;
    * 如果该主键不存在,则插件一对键值。
    */ 
    public static void updateProperties(String keyname,String keyvalue) {
        try {
            props.load(new FileInputStream(profilepath));
            OutputStream fos = new FileOutputStream(profilepath);            
            props.setProperty(keyname, keyvalue);
            props.store(fos, "Update '" + keyname + "' value");
        } catch (IOException e) {
            System.err.println("属性文件更新错误");
        }
    }
}
分享到:
评论

相关推荐

    Java Properties 解决中文乱码和顺序读写.docx

    ava中有个比较重要的类Properties(Java.util.Properties),主要用于读取Java的配置文件,各种语言都有自己所支持的配置文件,配置文件中很多变量是经常改变的,这样做也是为了方便用户,让用户能够脱离程序本身去...

    java 读取WEB-INF下文件夹中的properties文件

    非常实用的读取配置文件的小工具,专门读取WEB-INF下文件夹中的properties文件,代码简洁、亲测没有问题,适用范围广,任何类中都可调用,传入Key及可得到Value

    Java读取Properties文件的六种方法.txt

    很全面 很有用。。。里面有对Properties文件进行读取,写入的操作,达到六种方法。。。

    Java加载properties文件实现方式详解

    主要介绍了Java加载properties文件实现方式详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    java中读写Properties属性文件公用方法详解

    在项目开发中我们会将很多环境特定的变量定义到一个配置文件中,比如properties文件,把数据库的用户名和密码存放到此属性文件中。下面这篇文章就主要介绍了java中读写Properties属性文件公用方法,需要的朋友可以...

    java 面试题 总结

    Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。 10、&和&&的区别。 &是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)。 11、HashMap...

    JAVA大作业-西电-西宝高速公路客运活动仿真

    部分车辆限制以配置文件形式写入config.properties;ConfigSetting类用来图形化修改配置文件;Constant类定义系统大多数通用常量,可以读取配置文件设定部分静态变量的值,其他类采用静态导入的方式使用;...

    properties:Go的Java属性扫描器

    properties是用于读取和写入属性文件的Go库。 它支持从多个文件或URL进行读取,并将${key}类的表达式的Spring样式递归属性扩展为它们的相应值。 值表达式可以引用${key}其他键,也可以引用${USER}环境变量。 文件名...

    超级有影响力霸气的Java面试题大全文档

    Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。 13、&和&&的区别。 &是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)。 14、...

    TinyConfiguration:TinyConfiguration是一个简单轻巧的库,用于管理配置文件(JSON,XML,CSV和YAML)

    特征您可以使用TinyConfiguration进行的一些操作: 读取,写入和删除自定义配置文件(甚至异步) 轻松搜索和检索值使用Lambda函数对属性值执行验证将配置导出为JSON , XML , YAML和CSV快速开始基础知识import org....

    docker-minecraft-server:《我的世界》服务器

    环境变量对 Docker 还是很友好的,但是反编译 minecraft-server-*.jar 发现这货根本没有从环境变量中读取配置 (getenv,getProperties),只能修改配置文件。 参考文章 配置文件详解(注意对应版本) 其它关于如何搭建...

    springmybatis

    5. 在java 对象和 数据库之间有做mapping 的配置文件,也通常是xml 文件。 mybatis实战教程(mybatis in action)之一:开发环境搭建 mybatis 的开发环境搭建,选择: eclipse j2ee 版本,mysql 5.1 ,jdk 1.7,mybatis...

    POJOGenerator v1.3.3 Install(可视化POJO代码生成器最终版)

    1、先将压缩档解压到任意文件夹,必须保留配置文件cmsdk4j.cfg.xml和generator .cfg.xml与可执行文件POJOGenerator.exe在同一目录,否则无法运行。 2、可以预先在配置档cmsdk4j.cfg.xml中设定您的数据库服务器配置...

    ssh(structs,spring,hibernate)框架中的上传下载

     由于Spring通过代理Hibernate完成数据层的操作,所以原Hibernate的配置文件hibernate.cfg.xml的信息也转移到Spring的配置文件中:  代码 4 Spring中有关Hibernate的配置信息 1. 2. !-- 数据源的配置 //--> 3. ...

    免费云存储工具类——七牛云(更改配置信息,直接使用)

    云存储工具类——七牛云 第一步 导入相关依赖: ... qiniu-java-sdk ...secretKey:你的sk在这里插入图片描述把这些配置信息写在一个小配置文件(XXX.properties)中,供工具类读取 dns=你的dns accessKey=你的ak se

    SpringMVC-Mybatis-Shiro-redis-master 权限集成缓存中实例

    -- redis 配置,也可以把配置挪到properties配置文件中,再读取 --> <constructor-arg index="1" value="127.0.0.1" name="host" type="java.lang.String"/> <!-- 这种 arguments 构造的方式,...

    Spark_Kafka_Elastic

    用户活动监视器 介绍 该项目在单个网页上包含一个简单的用户活动监视器。 对于用户在网页上进行的每个鼠标移动... 启动动物园管理员bin/zookeeper-server-start.sh 配置/zookeeper.properties 启动Kafka服务器bin/ka

    ZendFramework中文文档

    实现订制存储 3.1.4. 使用Zend_Auth 3.2. 数据库表认证 3.2.1. 简介 3.2.2. 高级使用:持久一个 DbTable 结果对象 3.2.3. 高级用法示例 3.3. 摘要式认证 3.3.1. 简介 3.3.2. 规范(Specifics) 3.3.3. ...

Global site tag (gtag.js) - Google Analytics