【Java 语言】读取 properties 配置文件 ( Java 语言中的 properties 配置文件 | 使用 properties 配置文件 )

文章目录

  • 一、Java 语言中的 properties 配置文件
  • 二、使用 properties 配置文件
  • 三、完整代码示例
    • 1、Java 代码
    • 2、properties 配置文件
    • 3、执行结果






一、Java 语言中的 properties 配置文件



Java 语言中 , properties 配置文件 是一种用于存储应用程序配置信息的文本文件 ;

properties 配置文件 通常用于配置应用程序的 各种 参数 ;


properties 配置文件 是 由一系列 键值对 组成的 , 每个 键值对 都表示一个 配置项 ;

每个配置项由 一个 键值对 组成 , 键值对 之间使用等号 " = " 分隔 ;


properties 配置文件 , 文件名一般是 " 名称.properties " ,

properties 配置文件 内容如下 :

database.url=jdbc:mysql://localhost:3306/mydb  
database.username=root  
database.password=secret

上述配置中 ,

  • database.url 是 键 , 对应的 值 为 jdbc:mysql://localhost:3306/mydb ;
  • database.username 是 键 , 对应的 值 为 root ;
  • database.password 是 键 , 对应的 值 为 secret ;




二、使用 properties 配置文件



在 Java 语言中 , 使用 Properties 类 读取 和 操作 properties 配置文件 ;

通过加载 properties 配置文件 , 应用程序可以在运行时获取所需的配置信息 , 并根据这些信息进行相应的操作 ;


使用 Properties 类 读取 properties 配置 流程如下 :

  • 首先 , 创建 Properties 类对象 ;
Properties prop = new Properties(); 
  • 然后 , 创建 文件输入流 , 读取指定的 properties 配置文件 ;
FileInputStream input = new FileInputStream("config.properties");  
  • 再后 , 调用 Properties 实例对象的 load 函数 , 加载 properties 配置文件 的 文件输入流 ;
prop.load(input);  
  • 最后 , 调用 Properties 实例对象的 getProperty 函数 , 获取指定 键 对应的 值 ;
prop.getProperty("database.url")




三、完整代码示例




1、Java 代码


import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;

public class Main {
    public static void main(String[] args) {
        // 首先 , 创建 Properties 类对象
        Properties prop = new Properties();
        try {
            // 然后 , 创建 文件输入流 , 读取指定的 properties 配置文件
            FileInputStream input = new FileInputStream("config.properties");

            // 再后 , 调用 Properties 实例对象的 load 函数 , 加载 properties 配置文件 的 文件输入流
            prop.load(input);

            // 最后 , 调用 Properties 实例对象的 getProperty 函数 , 获取指定 键 对应的 值
            System.out.println("database.url: " + prop.getProperty("database.url"));
            System.out.println("database.username: " + prop.getProperty("database.username"));
            System.out.println("database.password: " + prop.getProperty("database.password"));

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}


2、properties 配置文件


database.url=jdbc:mysql://localhost:3306/mydb  
database.username=root  
database.password=secret

3、执行结果


执行结果 :

database.url: jdbc:mysql://localhost:3306/mydb
database.username: root
database.password: secret

在这里插入图片描述


代码下载 : https://download.csdn.net/download/han1202012/88541314

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

腾讯云服务器多少钱一年?腾讯云服务器88元一年,附优惠购买入口

腾讯云服务器可以以低至88元一年的价格购买!这个价格可以说是非常实惠。现在,让我们一起来了解腾讯云服务器的价格以及如何购买优惠的服务器。 如何购买88元一年的腾讯云服务器? 购买腾讯云服务器非常简单,只需按照以下步骤&…

Odoo 15开发手册第四章 模块继承

Odoo 的一项强大之处是无需直接修改所扩展模块的代码即可添加功能。这都归功于与自身代码组件相独立的功能继承。对模块的扩展可通过继承机制实现,以已有对象的修改层的形式。这些修改可以发生在每个层面,包括模型、视图和业务逻辑层面。我们不是直接修改…

idea查看UML类图

idea查看UML类图 一、如何查看UML类图 1.1 选择需要查看的类或者包,鼠标右键,选择Diagrams->Show Diagram 1.2 对于UML类图中的包,选中后点击鼠标右键-> Expand Nodes(展开节点) 展开前 展开后 1.3 展开后分布比较凌乱&#xff…

Axure基础详解二十二:随机点名效果

效果演示 组件 建立一个【中继器】,内部插入一个“文本框”。【中继器】每页项目数为1,开始页为1。 设置交互 页面载入时交互 给【中继器】新曾行,“name”数据列添加10行数据,填入相应的名字;“shunxu”数据列全部…

GLSL: Shader cannot be patched for instancing.

最近在 unity 里碰到了这么一个错误,只有这么点信息,让人看着挺懵逼的,后来发现,是因为 unity 的 terrain 组件在设置里勾了 Draw Instanced 选项导致的,感觉应该是 unity 的 bug。 因为错出在 2021,2022就…

ZYNQ_project:test_fifo_255X8

首先,这个vivado的fifo和quartus有很大不同。 用BRAM来实现异步fifo。 vivado的fifo有复位,在时钟信号稳定后,复位至少三个时钟周期(读写端口的慢时钟),复位完成后30个时钟周期后再进行写操作&#xff08…

网络安全-黑客技术(自学笔记)

前言 前几天发布了一篇 网络安全(黑客)自学 没想到收到了许多人的私信想要学习网安黑客技术!却不知道从哪里开始学起!怎么学 今天给大家分享一下,很多人上来就说想学习黑客,但是连方向都没搞清楚就开始学习…

python基于DETR(DEtection TRansformer)开发构建人员手持物品检测识别分析系统

PyTorch训练代码和DETR(DEDetection-TRansformer)的预训练模型。我们用Transformer替换了完全复杂的手工制作的对象检测管道,并将Faster R-CNN与ResNet-50匹配,使用一半的计算能力(FLOP)和相同数量的参数在…

vue3路由

vue3路由总结 vue3路由安装和引入:路由配置、创建 Router 实例:导航守卫 使用路由返回上一个页面没有跳转指定页 vue3路由 Vue3 路由是 Vue.js 3.x 版本中用于管理页面跳转和导航的模块。它基于 Vue Router 4.x,相较于 Vue2 的路由机制&…

来讲解一手事务隔离级别

简介 在数据库管理系统中,事务是一组被视为单一工作单元的操作,这些操作要么全部执行成功,要么全部回滚。为了确保在多用户并发访问数据库时数据的一致性和可靠性,引入了事务隔离级别的概念。事务隔离级别定义了一个事务对于其他…

餐厅订座预约小程序的效果如何

市场中无论哪种城市,餐厅非常多,一条不长的商业街,汇聚着数家餐饮品牌,且相互间竞争激烈,并且各个商家都希望用成本低高效率的方法引流及转化。 随着互联网深入各个行业,传统餐饮行业经营痛点不少。 传统餐…

(Matalb回归预测)WOA-BP鲸鱼算法优化BP神经网络的多维回归预测

目录 一、程序及算法内容介绍: 基本内容: 亮点与优势: 二、实际运行效果: 三、部分代码: 一、程序及算法内容介绍: 基本内容: 本代码基于Matalb平台编译,将WOA(鲸鱼算法)与BP神…

代码随想录算法训练营第五十五天 | LeetCode 583. 两个字符串的删除操作、72. 编辑距离、编辑距离总结

代码随想录算法训练营第五十五天 | LeetCode 583. 两个字符串的删除操作、72. 编辑距离、编辑距离总结 文章链接:两个字符串的删除操作、编辑距离、编辑距离总结 视频链接:两个字符串的删除操作、编辑距离 1. LeetCode 583. 两个字符串的删除操作 1.1 思…

YOLOv8环境搭建

YOLOv8环境搭建 torch环境安装requestment.txt文件中的包安装ultralytics调用 torch环境 使用的是python3.9版本 pip install torch-2.1.0cu118-cp39-cp39-linux_x86_64.whl torchvision0.16.0 torchaudio2.1.0 --index-url https://download.pytorch.org/whl/cu118安装reques…

GUI编程--PyQt5--QTreeWidget

文章目录 树型控件展示数据修改节点数据获取所有节点的数据 Qt模组参考 QWidgets QTreeWidget 树型控件展示数据 展示数据的同时,每个节点标注数据类型。 class MyWindow(QWidget):def __init__(self, title):super(MyWindow, self).__init__()self.setWindowTitl…

【SpringBoot篇】分页查询 | 扩展SpringMvc的消息转换器

文章目录 🛸什么是分页查询🌹代码实现⭐问题🎄解决方法 做了几个项目,发现在这几个项目里面,都实现了分页查询效果,所以就总结一下,方便学习 我们基于黑马程序员的苍穹外卖来讲解分页查询的要点…

el-table中el-popover失效问题

场景:先有一个数据表格,右侧操作栏为固定列,另外有一个字段使用了el-popover来点击弹出框来修改值,发现不好用,点击后无法显示弹出框,但当没有操作栏权限时却意外的生效了。 这种问题真是不常见&#xff0…

【蓝桥杯 第十五届模拟赛 Java B组】训练题(A - I)

目录 A、求全是字母的最小十六进制数 B、Excel表格组合 C、求满足条件的日期 D、 取数字 - 二分 (1)暴力 (2)二分 E、最大连通块 - bfs F、哪一天? G、信号覆盖 - bfs (1)bfs&#xf…

指静脉采集模组之调节Sensor

修改程序中gc0308_sensor_default_regs[]的类容,0x22寄存器的值改为0x55,关闭白平衡,0xd2寄存器的值改为0x10,关闭自动曝光。目前输出的图像没有自动曝光和自动白平衡,但是帧率比之前更低了。 以下是开启曝光模式和关闭曝光模式下…

论文排版一步搞定之图表题注——(图标自动编号,引用题注)

同学们在撰写研究生毕业大论文时,一定会进行章节的多次调整,不到最后一刻很难定稿。此时,一幅插图或表格位置的变化可能会导致此章内大部分插图或表格编号的变化,插图和表格编号的改变同样会使得前文的引用发生变化。牵一发而动全…
最新文章