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("保存配置文件成功!");
    }
}

创建的配置文件如下:

总结

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

相关文章

  • MyBatis-Plus 分页查询以及自定义sql分页的实现

    MyBatis-Plus 分页查询以及自定义sql分页的实现

    这篇文章主要介绍了MyBatis-Plus 分页查询以及自定义sql分页的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • 关于Java中的CAS如何使用

    关于Java中的CAS如何使用

    这篇文章主要介绍了关于Java中的CAS如何使用,CAS是Compare And Swap(比较并交换)的缩写,是一种非阻塞式并发控制技术,用于保证多个线程在修改同一个共享资源时不会出现竞争条件,从而避免了传统锁机制的各种问题,需要的朋友可以参考下
    2023-09-09
  • Java生成含字母和数字的6位随机字符串

    Java生成含字母和数字的6位随机字符串

    这篇文章主要为大家详细介绍了Java生成含字母和数字的6位随机字符串的相关资料,供大家参考,感兴趣的朋友可以参考一下
    2016-05-05
  • java接口私有方法实现过程解析

    java接口私有方法实现过程解析

    这篇文章主要介绍了java接口私有方法实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • Java实现简易提款机

    Java实现简易提款机

    这篇文章主要为大家详细介绍了Java实现简易提款机,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • IntelliJ IDEA 2022.2.3最新激活图文教程(亲测有用永久激活)

    IntelliJ IDEA 2022.2.3最新激活图文教程(亲测有用永久激活)

    今天给大家分享一个 IDEA 2022.2.3 的激活破解教程,全文通过文字+图片的方式讲解,手把手教你如何激活破解 IDEA, 只需要几分钟即可搞定,对idea2022.2.3激活码感兴趣的朋友跟随小编一起看看吧
    2022-11-11
  • 如何替换@PathVariable中的变量

    如何替换@PathVariable中的变量

    这篇文章主要介绍了如何替换@PathVariable中的变量,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • Java中单例模式详解

    Java中单例模式详解

    这篇文章主要介绍了Java中单例模式详解,单例模式包括了懒汉式单例、饿汉式单例、登记式单例三种,想要了解的朋友可以了解一下。
    2016-11-11
  • Java并发编程之synchronized底层实现原理分析

    Java并发编程之synchronized底层实现原理分析

    这篇文章主要介绍了Java并发编程之synchronized底层实现原理,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • mybatis if test 不为空字符串或null的解决

    mybatis if test 不为空字符串或null的解决

    这篇文章主要介绍了mybatis if test 不为空字符串或null的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11

最新评论