【Java】Properties类

news2024/11/22 23:03:26

文章目录

  • 01 初识Properties
  • 02 Properties常用方法
  • 03 Properties使用案例

在这里插入图片描述

01 初识Properties

在这里插入图片描述

创建这样一个配置文件:
在这里插入图片描述
传统方法:

public static void main(String[] args) throws IOException {
        //读取mysql.properties文件,并得到ip、user、pwd
        BufferedReader br = new BufferedReader(new FileReader("D:\\Code\\Java\\files\\JavaSE\\src\\com\\study\\properties_\\mysql.properties"));
        String line = "";
        while((line = br.readLine())!= null){ //循环读取
            String[] split = line.split("=");
            System.out.println(split[0]+"值是:"+split[1]);
        }
        br.close();
    }

还要进行其他操作,会比较麻烦,但用Properties类来操作,就会方便很多

02 Properties常用方法

  • 是专门用于读写配置文件的集合类
    • 配置文件格式:
    • 键 = 值
    • 键 = 值
  • 注意:键值对不需要有空格,值不需要用引号;默认类型是String

常用方法:

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

03 Properties使用案例

  1. 使用 Properties 类完成对 mysql.properties 的读取
import java.io.FileReader;
import java.io.IOException;
import java.util.Properties;

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("D:\\Code\\Java\\files\\JavaSE\\src\\com\\study\\properties_\\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);
    }
}

在这里插入图片描述

  1. 使用 Properties 类添加 key - val 到新文件 mysql2.properties 中
 public static void main(String[] args) throws IOException {
        //使用 Properties 类添加 key - val 到新文件 mysql2.properties 中
        Properties properties = new Properties();
        //创建文件
        properties.setProperty("charset","utf8");
        properties.setProperty("user","孙悟空");//保存时,中文是以unicode码保存
        properties.setProperty("pwd","666");
        //将k-v存储到文件中,
        properties.store(new FileOutputStream("src\\mysql2.properties"),"hello world!");//右边是注释,可以null
        System.out.println("保存配置文件成功");
    }

在这里插入图片描述

  1. 使用 Properties 类完成对 mysql2.properties 的读取,并修改某个 key - val
public static void main(String[] args) throws IOException {
    //使用 Properties 类添加 key - val 到新文件 mysql2.properties 中
    Properties properties = new Properties();
    //创建文件
    //1.如果该文件没有key,就是创建
    //2.如果该文件有key,就是修改
    properties.setProperty("charset","utf8");
    properties.setProperty("user","孙悟空");
    properties.setProperty("pwd","88888888");
    //将k-v存储到文件中,
    properties.store(new FileOutputStream("src\\mysql2.properties"),"hello world!");
    System.out.println("文件修改成功");
    /*
        Properties父类是Hashtable,所以底层就是Hashtable核心方法
     */
}

修改即是创建一个新的替换旧的:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/158463.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Dubbo集群容错

Dubbo集群容错 1. 集群容错 集群调用失败时,Dubbo 提供的容错方案。 在集群调用失败时,Dubbo 提供了多种容错方案,缺省为 failover 重试。 各节点关系: 这里的 Invoker 是 Provider 的一个可调用 Service 的抽象,I…

n皇后(回溯)

著名的n皇后问题 即在棋盘上任意两个皇后不能在同一行,同一列,或者斜对角线,反斜对角线的位置 以判断(5,1)位置为例 往右下方(斜对角线)一连串的位置 (5,1&…

Naive-UI自定义TabPane样式

前言前端开发通常使用 第三方 UI 组件库,像大家熟悉的 Element-UI、AntD Vue 等最近发现一个 还比较好用的 组件库 Naive-UI 传送门 ,Vue 3 组件库,使用 TypeScript ,用起来感觉还不错,它的主题也可以切换 &#xff08…

首款自研成像雷达发布!国产玩家赋能智能驾驶“第四类”感知

4D成像雷达赛道的“战火”正在不断升级。 高工智能汽车研究院预计,4D成像雷达将从2023年初开始小规模前装导入,预计到2024年,定点/搭载量有望突破百万颗,到2025年占全部前向毫米波雷达的比重或超过40%。 伴随着中国自动驾驶的渗…

Java多线程:多线程 Thread 类 中常用的方法的使用

Java多线程:多线程 Thread 类 中常用的方法的使用 每博一文案 日本有一位方丈曾在其寺庙的公告栏上写下一句标语: ”没有失败的人生才最失败。“ 深以为然,不上高山,不知平地,不经大海,不懂宽阔的涵义&…

很少人知道的7个极酷HTML元素

搜索很酷的HTML元素,尤其是当您不知道要查找什么时,通常就像被扔进一堆垃圾中一样动图别担心,我为你做了肮脏的工作!在浏览了看似无穷无尽的HTML元素之后,我挖出了一些很少使用的宝石!1. meter&progres…

多线程Monitor工作原理

🍎1. 什么是Monitor?我们都知道synchronized的作用是用来保证修饰的代码或者方法执行有且只有一个线程执行,也就是锁。那么在执行被锁住的方式时,synchronized就需要通过monitor来记录和保证锁的状态。所以monitor这里的作用其实就是起到了控…

RFID固定资产管理系统实现批量“秒”级盘点

面对成千上万,乃至几十万的固定资产,如何能高效管理,做到管理无漏洞,盘点无错漏呢?很多企业和软件厂商都在考虑这个问题。现如今,随着物联网的发展,企业可批量实现固定资产的秒级盘点&#xff0…

【C++核心编程】C++全栈体系(十一)

C核心编程 第四章 类和对象 七、多态 1. 多态的基本概念 多态是C面向对象三大特性之一 多态分为两类 静态多态: 函数重载 和 运算符重载属于静态多态,复用函数名动态多态: 派生类和虚函数实现运行时多态 静态多态和动态多态区别: 静态多态的函数…

打印机共享遇到的常见问题与解决方法

共享打印机提示错误0X000006d9 解决方法: 1、桌面找到计算机或此电脑,然后再图标上右键选择管理选项菜单; 2、在打开的计算机管理对话框中选择服务和应用程序选项; 3、双击服务和应用程序选项就会打开一个对话框,然后再选择服务菜单双击;

01-JDK、JRE、JVM之间的区别?

1.JDK JDK(Java SE Development Kit),Java标准开发包,它提供了编译、运⾏Java程序所需的各种⼯具和资源,包括Java编译器、Java运⾏时环境,以及常⽤的Java类库等. JDK安装目录中真正在运行java时起作用的是 bin、include、lib、…

一网打尽链表的经典OJ题!链表必考笔试题第二弹

目录 0.前言 1.合并两个排序链表 1.1 实用小妙招 1.2代码书写 2.链表分割 3.链表的回文结构 4.相交链表 4.1 实用小妙招(假定指针法) 4.2代码书写 5. 复制带随机指针的链表 0.前言 本文代码及分析图片资源都以上传Gitee,可自取&a…

【Java数据结构】堆与优先级队列(堆)的详解

文章目录 目录 文章目录 一、优先级队列(堆) 1.1优先级队列的概念 二、优先级队列的模拟实现 2.1堆的概念 2.2堆的存储方式 2.3堆的创建 2.4建堆的时间复杂度 2.5堆的插入和删除 三.常用的PriorityQueue介绍 3.1PriorityQueue特性 3.2PriorityQueue常用方法 3.3oj练习 一、优…

CANoe-Model Editor介绍以及如何创建一个服务

Model Editor,模型编辑器,可以打开导入的ARXML文件,编辑现有的或定义新的应用层对象(CO、DO) 什么是CO和DO? Model Editor页面的整体布局为: 在左侧的子窗口中,你可以选择要编辑的内容根据你的选择,相应的内容将显示在右侧根据你在此处的选择,你可以使用其他拆分器来…

Vue--》Vue3的setup语法糖到底香不香?你来看看就知道了

目录 setup语法糖 创建Vue3项目 setup语法糖的使用 快速生成setup语法糖模板 setup语法糖新增的API useSlots()和useAttrs() 顶层await setup语法糖 相信在了解过这篇文章的 setup函数讲解 人会觉得Vue3处理数据变得繁琐了,所有的变量都必须return出来才能使…

8步,用python实现进行自动化评论、点赞、关注脚本

嗨害大家好鸭! 我是小熊猫~ 分享这个没啥,就是好玩 这里写目录标题嗨害大家好鸭! 我是小熊猫~开发环境代码实现点击此处跳转文末名片获取1.请求伪装2.获取关键词3. 获取作品评论ID采集4. 设置评论相应内容5. 设置点赞操作6. 设置关注操作7. 获…

数据结构实验头歌 第1关:求图的最短路径

任务描述 本关任务:编程实现求图的最短路径 相关知识 最短路径的Dijkstra算法: 求最短路径就是求图中的每一个点到图中某一个给定点(认为编号为0的点)的最短距离。 具体算法就是初始有一个旧图,一个新图。开始时旧图中…

Linux项目自动化构建工具-make/Makefifile

目录 背景 实例代码 依赖关系 依赖方法 原理 项目清理 可重复执行的依据 背景 会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力 一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系…

K8s部署前后端分离项目(一)

K8s部署前后端分离项目 环境准备 K8s环境 主节点master:192.168.3.200 子节点node1:192.168.3.201 子节点node2:192.168.3.202 Harbor远程仓库 已部署在master主节点上,目录为:cd /workspace/harbor/harbor 1、登录地…

java使用XDocReport导出word

使用XDocReport 导出word效果word编辑器案例word模板模板制作解决图片不存在时, "现场照片" 列被隐藏问题依赖返回数据对象 DailyRecordReportOpinionVO 审核记录对象PicVo 图片对象导出接口效果 说明: “现场图片” 为动态图片列表 , “专业负责人审核意见” 和 “项…