IO流 p11 Properties

这篇具有很好参考价值的文章主要介绍了IO流 p11 Properties。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

# Properties类

  • 基本介绍

    IO流 p11 Properties

    1. 专门用于读写配置文件的集合类

      配置文件的格式:

      键=值

      键=值

    2. 注意:键值对不需要有空格,值不需要用引号一起来。默认类型是String。

    3. Properties的常见方法

      1. load:加载配置文件的键值对 到Properties对象;
      2. list:将数据显示到指定设备/流对象;
      3. getProperty(key):根据键获取值;
      4. setProperty(key, value):设置键值对到Properties对象;
      5. store:将Properties中的键值对存储到配置文件,在idea中,保存信息到配置文件,如果含有中文,会存储为unicode码;
  • 读文件

    示例文件:mysql.properties

    ip=192.168.100.100
    user=root
    pwd=12345
    

    代码演示:

    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.IOException;
    import java.util.Properties;
    
    /**
     * @author: 86199
     * @date: 2023/5/8 20:06
     * @description:
     */
    public class Properties02 {
        public static void main(String[] args) throws IOException {
            //使用Properties类 来读取mysql.properties 文件
    
            //1. 创建Properties对象
            Properties properties = new Properties();
    
            //2. 加载指定配置文件
            properties.load(new FileReader("src\\mysql.properties"));
            //3. 把 k-v 显示到控制台
            properties.list(System.out);
            //4. 根据key获取对应的值
            String user = properties.getProperty("user");
            String pwd = properties.getProperty("pwd");
    
            System.out.println("用户名 = " + user);
            System.out.println("密码 = " + pwd);
        }
    }
    /*
    运行结果:
    -- listing properties --
    user=root
    pwd=12345
    ip=192.168.100.100
    root
    12345
    */
    
  • 修改文件

    import java.io.FileOutputStream;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.util.Properties;
    
    /**
     * @author: 86199
     * @date: 2023/5/8 20:52
     * @description:
     */
    public class Properties03 {
        public static void main(String[] args) throws IOException {
            //load加载的时候加载到properties对象,是继承了hashtable的,
            // 所以相同key的就替换value了
    
            //使用Properties类 来创建 配置文件,修改配置文件内容
            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);//如果是新k,就addEntry
                        return null;
                    }
             */
            properties.setProperty("charset", "utf8");
            properties.setProperty("user","汤姆");//注意中文保存时,是保存中文的 unicode码
            properties.setProperty("pwd","888888");
    
            //将k-v 存储到文件中即可
            properties.store(new FileOutputStream("src\\mysql2.properties"), null);
            System.out.println("保存配置文件成功~~");
        }
    }
    
    

    mysql2.properties文件内容:文章来源地址https://www.toymoban.com/news/detail-474782.html

    #Mon May 08 21:16:41 CST 2023
    user=\u6C64\u59C6
    pwd=888888
    charset=utf8
    
    

到了这里,关于IO流 p11 Properties的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • docker 启动 nacos Failed to bind properties under ‘server.tomcat.basedir‘ to java.io.File 解决

    配置文件中默认为 server.tomcat.basedir= 启动时出错,解决方案给该值赋予一个存在的路径 server.tomcat.basedir=/ 重新启动即可解决问题 来源docker 按住nacos启动Failed to bind properties under \\\'server.tomcat.basedir\\\' to java.io.File: · Issue #8960 · alibaba/nacos · GitHub

    2024年02月13日
    浏览(44)
  • 第9章-第1节-关于Java中properties配置文件的介绍

    properties类也是基于流,不算很难,下面直接上代码: 关于工厂模式+反射+properties的案例,可以看这篇文件章:Java设计模式之工厂模式 本电子目录: 《Java基础的重点知识点全集》

    2024年01月20日
    浏览(65)
  • 【C++11】多线程+IO流

      需要云服务器等云产品来学习Linux的同学可以移步/--腾讯云--/--阿里云--/--华为云--/官网,轻量型云服务器低至112元/年,新用户首次下单享超低折扣。   目录 一、C++11线程库 1、每个线程都有独立的栈空间 2、加锁的位置 3、CSA操作 4、C++的类模板atomic(原子操作) 5、lock_g

    2024年02月01日
    浏览(37)
  • Spring Boot入门(03): yaml、properties配置文件介绍及使用 | 超级详细,建议收藏

            在软件开发中,配置文件是一项非常重要的内容。它们通常用于存储应用程序的各种设置和配置选项,包括数据库连接信息、日志级别、Web服务器端口、安全认证密钥等等。在不同的环境(例如开发、测试、生产)中,这些配置文件可能会有所不同。因此,良好的

    2024年02月11日
    浏览(54)
  • 【C++】C++11线程库 和 C++IO流

    春风若有怜花意,可否许我再少年。 1. C++11的线程库实际封装了windows和linux底层的原生线程库接口,在不同的操作系统下运行时,C++11线程库可以通过条件编译的方式来适配的使用不同的接口,比如在linux下,就用封装POSIX线程库的接口来进行多线程编程,在windows下,就用封装

    2024年02月07日
    浏览(38)
  • OpenCV基本操(IO操作,读取、显示、保存)

    参数: 要读取的图像 读取图像的方式: cv.IMREAD*COLOR :以彩色模式加载图像,任何图像的图像的透明度都将被忽略。这是默认参数 标志: 1 cv.IMREAD*GRAYSCALE :以灰度模式加载图像 标志: 0 cv.IMREAD_UNCHANGED :包括alpha通道(透明通道)的加载图像模式。 标志: -1 可以使用 1、0或者

    2024年02月10日
    浏览(70)
  • Python Opencv实践 - 基本图像IO操作

       

    2024年02月14日
    浏览(61)
  • WebSocket之socket.io的基本使用

     Socket.IO 是一个WebSocket库,可以在客户端和服务器之间实现低延迟、双向和基于事件的通信。它建立在 WebSocket 协议之上,并提供额外的保证,例如回退到 HTTP 长轮询或自动重新连接。 基本使用 安装socket.io yarn add socket.io  新建js文件与html文件内容如下 这个时候启动node后,

    2024年02月08日
    浏览(33)
  • Linux标准IO对文件的基本操作(一)

    在Linux标准IO中,就是用 库函数 对文件进行操作。在C语言中有许多库函数方便用户去对文件进行操作。下面谈谈一些简单基本的函数,这些函数都是被包含在头文件 stdio.h 中的。 要操作一个文件,我们肯定先 打开 它,这里打开并不是去右键文件然后左键打开。这里的打开是

    2024年02月15日
    浏览(44)
  • 【探索Linux】—— 强大的命令行工具 P.11(基础IO,文件操作)

    前面我们讲了C语言的基础知识,也了解了一些数据结构,并且讲了有关C++的一些知识,也学习了一些Linux的基本操作,也了解并学习了有关Linux开发工具vim 、gcc/g++ 使用、yum工具以及git 命令行提交代码也相信大家都掌握的不错,上一篇文章我们了解了关于进程的地址空间,今

    2024年02月08日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包