Properties文件:Properties属性文件键值对的获取方法、如何写入信息到Properties属性文件、Properties对象的用法

news2025/4/28 12:37:55

目录

1、什么是Properties文件?和普通txt文件有什么区别?

2、读写Properties文件

 2.1 代码演示-读取属性文件

2.2、代码演示-把键值对的数据写入到属性文件中去


1、什么是Properties文件?和普通txt文件有什么区别?

我们都知道txt文件,是一个普通的文本文件,里面的内容可以随便写,格式也很随意。

而Properties的书写格式就有格式要求,文件内容都是一些键值对,方便我们去获取键值对里面的信息,例如账号密码等信息。

可以把数据关系存进去,方便我们解析,普通文件是做不到这一点的。

2、读写Properties文件

我之前发布了非常系统的IO流文章,说到读取文件,很多同学会想到用IO流去一行一行读然后解析,是非常繁琐的。我们可以用Map集合下的Properties对象来读取文件

核心作用:Properties对象是用来代表属性文件的,通过Properties对象可以读写属性文件里的内容。

 2.1 代码演示-读取属性文件

先创建一个testPro.properties属性文件

通过Properties 对象来获取文件中的键值对,非常方便

public class PropertiesTest01 {
    public static void main(String[] args) throws IOException {
        //1、创建一个Properties对象(键值对集合,空容器)
        Properties properties = new Properties();
        //2、创建与testPro.properties文件连接的流
        Reader reader = reader = new FileReader("src\\main\\resources\\testPro.properties");
        //3、加载testPro.properties文件数据到Properties对象当中
        properties.load(reader);

        //根据键取值
        System.out.println(properties.getProperty("你好"));
        System.out.println(properties.getProperty("admin"));

        //遍历全部的键和值
        Set<String> keys = properties.stringPropertyNames();
        for (String key : keys){
            System.out.println("key=" + key + "----" + "value=" + properties.getProperty(key));
        }

        properties.forEach((k,v)->{
            System.out.println(k + "----" + v);
        });
    }
}

注意:不需要手动关闭FileReader管道,只是作为一个参数给到store方法,内部用完之后会给我们关闭的。

可以看到,打印出来的数据非常丝滑,用法非常简单。

2.2、代码演示-把键值对的数据写入到属性文件中去

public class PropertiesTest01 {
    public static void main(String[] args) throws IOException {

        //1、创建一个Properties对象(键值对集合,空容器)
        Properties propertiesWrite = new Properties();
        propertiesWrite.setProperty("name","中国");
        propertiesWrite.setProperty("admin","广东");
        propertiesWrite.setProperty("home","广州");
        //2、创建与testPro.properties文件连接的流
        Writer writer = new FileWriter("src\\main\\resources\\testPro.properties");
        //3、把properties对象当中的数据存入testPro.properties属性文件当中
        //这第二个参数只是注释
        propertiesWrite.store(writer,"It's comments");

    }
}

可以看到,我们写的键值对以及注释都写入到了我们的属性文件当中。

这就是我对Properties文件以及Properties对象的理解,希望能帮到大家,有问题的地方欢迎大家一起讨论!

后续会不断更新作品,欢迎大家一起讨论学习。❤❤❤

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

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

相关文章

枫清科技亮相 2024 中国 5G+工业互联网大会,推动 AI 赋能新型工业化

11 月 19 日&#xff0c;2024 中国 5G工业互联网大会在武汉盛大开幕&#xff0c;吸引了来自国内外的行业专家与领先企业。本次大会以“实数融合 智造翘楚”为主题&#xff0c;重点围绕 5G 与工业互联网的深度融合应用、人工智能、智能网联汽车等领域展开讨论与成果展示。作为行…

Spring Boot 3.x + OAuth 2.0:构建认证授权服务与资源服务器

Spring Boot 3.x OAuth 2.0&#xff1a;构建认证授权服务与资源服务器 前言 随着Spring Boot 3的发布&#xff0c;我们迎来了许多新特性和改进&#xff0c;其中包括对Spring Security和OAuth 2.0的更好支持。本文将详细介绍如何在Spring Boot 3.x版本中集成OAuth 2.0&#xf…

使用Python编写脚本,为Excel表格添加水印

简介 这是本人实习中的一个小任务&#xff0c;经过无数努力&#xff0c;终于搞出来了。网上很多资料和博客都是lese&#xff0c;完全没有理清楚水印在excel中的定义是什么&#xff0c;插个图片就是水印吗&#xff1f;当然不是&#xff01;如果帮助到佬们请点个赞吧。 Ecxel中…

MacOS下的Opencv3.4.16的编译

前言 MacOS下编译opencv还是有点麻烦的。 1、Opencv3.4.16的下载 注意&#xff0c;我们使用的是Mac&#xff0c;所以ios pack并不能使用。 如何嫌官网上下载比较慢的话&#xff0c;可以考虑在csdn网站上下载&#xff0c;应该也是可以找到的。 2、cmake的下载 官网的链接&…

jspm东风锻造有限公司重大停管理系统

摘要 东风锻造有限公司重大停管理系统提供给员工和经理一个重大停信息管理的系统。本系统采用了B/S体系的结构&#xff0c;使用了java技术以及MYSQL作为后台数据库进行开发。系统主要分为系统管理员&#xff0c;员工和经理三个部分&#xff0c;系统管理员主要功能包括个人中心…

list =和addAll在List<实体类>数组的应用

实体类 A public class A {private String name;private Integer age;public String getName() {return name;}public void setName(String name) {this.name name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age age;} }用会报错 publi…

探索设计模式:原型模式

设计模式之原型模式 &#x1f9d0;1. 概念&#x1f3af;2. 原型模式的作用&#x1f4e6;3. 实现1. 定义原型接口2. 定义具体的原型类3. 定义客户端4. 结果 &#x1f4f0; 4. 应用场景&#x1f50d;5. 深拷贝和浅拷贝 在面向对象编程中&#xff0c;设计模式是一种通用的解决方案…

多目标优化算法:多目标极光优化算法(MOPLO)求解ZDT1、ZDT2、ZDT3、ZDT4、ZDT6,提供完整MATLAB代码

一、极光优化算法 极光优化算法&#xff08;Polar Lights Optimization, PLO&#xff09;是2024年提出的一种新型的元启发式优化算法&#xff0c;它从极光这一自然现象中汲取灵感。极光是由太阳风中的带电粒子在地球磁场的作用下&#xff0c;与地球大气层中的气体分子碰撞而产…

FPGA实现PCIE3.0视频采集转SFP光口千兆UDP网络输出,基于XDMA+GTH架构,提供2套工程源码和技术支持

目录 1、前言工程概述免责声明 2、相关方案推荐我已有的所有工程源码总目录----方便你快速找到自己喜欢的项目我已有的PCIE方案1G/2.5G Ethernet Subsystem实现物理层方案1G/2.5G Ethernet PCS/PMA or SGMII Tri Mode Ethernet MAC实现物理层方案本博客方案的PCIE2.0版本 3、P…

40分钟学 Go 语言高并发:开发环境搭建与工程化实践

Day 01 - Go开发环境搭建与工程化实践 1. Go环境变量配置 1.1 重要的环境变量表格 环境变量说明示例值GOROOTGo语言安装根目录Windows: C:\goLinux/Mac: /usr/local/goGOPATH工作目录&#xff0c;包含src、pkg、binWindows: C:\Users\username\goLinux/Mac: ~/goGOBIN可执行…

【Mysql】函数-----窗口函数

1、介绍 Mysql 8.0 新增了窗口函数&#xff0c;窗口函数又被称为开窗函数&#xff0c;与orcale窗口函数相似&#xff0c;属于Mysql的一大特点。非聚合函数是相对于聚合函数来说的。聚合函数是一组数据计算后返回单个值&#xff08;即分组&#xff09;。非聚合函数一次只会处理…

【开源免费】基于SpringBoot+Vue.JS网上订餐系统(JAVA毕业设计)

本文项目编号 T 039 &#xff0c;文末自助获取源码 \color{red}{T039&#xff0c;文末自助获取源码} T039&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析5.4 用例设计 六、核…

文件上传-阿里云OSS

使用 安装SDK <dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId><version>3.17.4</version> </dependency> 如果使用的是Java 9及以上的版本&#xff0c;则需要添加JAXB相关依赖。添加…

大数据实验4-HBase

一、实验目的 阐述HBase在Hadoop体系结构中的角色&#xff1b;能够掌握HBase的安装和配置方法熟练使用HBase操作常用的Shell命令&#xff1b; 二、实验要求 学习HBase的安装步骤&#xff0c;并掌握HBase的基本操作命令的使用&#xff1b; 三、实验平台 操作系统&#xff1…

【前端】JavaScript 变量引用、内存与数组赋值:深入解析三种情景

博客主页&#xff1a; [小ᶻZ࿆] 本文专栏: 前端 文章目录 &#x1f4af;前言&#x1f4af;场景一&#xff1a;直接赋值与重新引用为什么结果不是 [3, 4, 5]&#xff1f;1. 引用与赋值的基本概念2. 图示分析 关键总结 &#x1f4af;场景二&#xff1a;引用指向的变化为什么…

微信小程序的医院预约挂号系统

摘 要 时代在飞速进步&#xff0c;每个行业都在努力发展现在先进技术&#xff0c;通过这些先进的技术来提高自己的水平和优势&#xff0c;医院预约挂号系统当然不能排除在外。医院预约挂号系统是在实际应用和软件工程的开发原理之上&#xff0c;运用微信开发者、java语言以及S…

微店商品详情 API 接口如何获取

要获取微店商品详情API接口&#xff0c;你需要遵循以下步骤&#xff1a; 注册与认证&#xff1a;首先&#xff0c;你需要在微店平台完成注册&#xff0c;并进行必要的认证流程&#xff0c;以确保具备获取API接口的资格。 深入研究政策&#xff1a;仔细阅读并理解微店关于API使…

新华三H3CNE网络工程师认证—子接口技术

子接口&#xff08;subinterface&#xff09;是通过协议和技术将一个物理接口&#xff08;interface&#xff09;虚拟出来的多个逻辑接口。在VLAN虚拟局域网中&#xff0c;通常是一个物理接口对应一个 VLAN。在多个 VLAN 的网络上&#xff0c;无法使用单台路由器的一个物理接口…

matlab例题

matlab中&#xff0c;abs函数是求绝对值的函数&#xff0c;但是他也能求字符串的ascill值

Android 工厂设计模式的使用:咖啡机,可以做拿铁,可以做美式等等。

大家好呀~&#xff0c;我是前期后期&#xff0c;在网上冲浪的一名程序员&#xff0c;分享一些自己学到的知识&#xff0c;希望能够帮助大家节省时间。 目录 一、为什么使用&#xff1a;问题是什么 我们有一款纸币器&#xff0c;但是纸币器有三种通讯方式&#xff1a;ICT RS32、…