Java IO流之Properties类的使用

 更新时间:2024年08月22日 17:23:10   作者:路宇  
这篇文章主要介绍了Java IO流之Properties类的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

前言

Properties类的基本介绍

Properties类的常见方法

使用Properties类来读取配置文件mysql.properties

mysql.properties配置文件中具体内容如下:

/**
 * 使用Properties类来读取mysql.properties文件
 */
public class Properties02 {
    public static void main(String[] args) throws IOException {
        //1.创建Properties对象
        Properties properties = new Properties();
        properties.load(new FileReader("src\\mysql.properties"));
        //3.把键值对 显示到控制台
        properties.list(System.out);
        System.out.println("--------------------")
        //根据key 获取对应的值
        String pwd = properties.getProperty("pwd");
        String user = properties.getProperty("user");
        System.out.println("用户名:" + user);
        System.out.println("密码:" + pwd);
    }
}

结果如下:

-- listing properties --
user=root
pwd=123456
ip=192.168.100.100
--------------------
用户名:root
密码:123456

使用Properties类创建配置文件,修改配置文件内容

具体代码如下:

/**
 * 使用Properties类 创建配置文件,修改配置文件内容
 */
public class Properties03 {
    public static void main(String[] args) throws IOException {
        Properties properties = new Properties();
        //创建
        //1.如果该文件没有key,就是创建
        //2.如果改文件有key,就是修改
        /*
           Properties父类就是Hashtable,底层就是Hashtable 核心方法

            public synchronized V put(K key, V value) {
        // Make sure the value is not null
        if (value == null) {
            throw new NullPointerException();
        }

        // Makes sure the key is not already in the hashtable.
        Entry<?,?> tab[] = table;
        int hash = key.hashCode();
        int index = (hash & 0x7FFFFFFF) % tab.length;
        @SuppressWarnings("unchecked")
        Entry<K,V> entry = (Entry<K,V>)tab[index];
        for(; entry != null ; entry = entry.next) {
            if ((entry.hash == hash) && entry.key.equals(key)) {
                V old = entry.value;
                entry.value = value;//如果key存在,就替换
                return old;
            }
        }

        addEntry(hash, key, value, index); //如果是新key,就添加
        return null;
    }
         */
        properties.setProperty("charset", "utf8");
        properties.setProperty("user", "汤姆");
        properties.setProperty("pwd", "888");
        //store()方法的第二个参数,表示注释
        properties.store(new FileOutputStream("src\\mysql2.properties"), "hello");
        System.out.println("保存配置文件成功!");
    }
}

创建的配置文件如下:

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • java性能优化四种常见垃圾收集器汇总

    java性能优化四种常见垃圾收集器汇总

    这篇文章主要介绍了java性能优化四种常见垃圾收集器汇总,每种垃圾收集器都有其不同的算法实现和步骤,下面我们简单描述下我们常见的四种垃圾收集器的算法过程,感兴趣的同学们最好先看下以下的两篇文章去增加理解
    2022-07-07
  • ObjectMapper 如何忽略字段大小写

    ObjectMapper 如何忽略字段大小写

    这篇文章主要介绍了使用ObjectMapper实现忽略字段大小写操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • Resttemplate上传文件500异常的原因及解决方法

    Resttemplate上传文件500异常的原因及解决方法

    使用 Resttemplate 调用 DMS 文件服务器 Http 接口,出现 500 异常报错,所以本文给大家介绍了Resttemplate上传文件500异常的原因及解决方法,需要的朋友可以参考下
    2024-08-08
  • springboot集成swagger3与knife4j的详细代码

    springboot集成swagger3与knife4j的详细代码

    这篇文章主要介绍了springboot集成swagger3与knife4j,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • Elasticsearch 映射参数详解 fields

    Elasticsearch 映射参数详解 fields

    这篇文章主要介绍了fields Elasticsearch 映射参数fields,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • 一篇文章带你深入了解javaIO基础

    一篇文章带你深入了解javaIO基础

    这篇文章主要介绍了java 基础知识之IO总结的相关资料,Java中的I/O分为两种类型,一种是顺序读取,一种是随机读取,需要的朋友可以参考下,希望对你有帮助
    2021-08-08
  • JavaWeb实战之用Servlet+JDBC实现用户登录与注册

    JavaWeb实战之用Servlet+JDBC实现用户登录与注册

    这篇文章主要介绍了JavaWeb实战之用Servlet+JDBC实现用户登录与注册,文中有非常详细的代码示例,对正在学习java的小伙伴们有很大的帮助,需要的朋友可以参考下
    2021-04-04
  • Spring整合Dubbo框架过程及原理解析

    Spring整合Dubbo框架过程及原理解析

    这篇文章主要介绍了Spring整合Dubbo框架过程及原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • java hutool工具类处理JSON的使用方法

    java hutool工具类处理JSON的使用方法

    hutool是一个java基础工具类,该工具类经过长期的发展,API已经非常齐全,下面这篇文章主要给大家介绍了关于java hutool工具类处理JSON的使用方法,需要的朋友可以参考下
    2024-04-04
  • springboot bootcdn使用示例详解

    springboot bootcdn使用示例详解

    这篇文章主要介绍了springboot bootcdn使用,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08

最新评论