JAVA魔法堂:读取.properties配置文件^^肥仔John

配置文件的一种,内容以键值对的形式存在,且每个键值对独占一行。#号作为行注释的起始标志,中文注释会自动进行unicode编码。示例:

#ipandportofserversocketip=127.0.0.1port=9999#errormessagemsg=I'msorry,byebye!假设上述内容存储在config.properties文件下,且bin目录结果如下:

bin

|--main

|--Demo.class

|--config.properties

后续章节的示例将以上述内容作为目标对象来操作。

三、通过Properties对象操作

读取属性,示例:

publicclassDemo{publicstaticvoidmain(String[]args){Propertiesprops=newProperties();InputStreamin=Demo.class.getResourceAsStream("../config.properties");//或使用文件输入流(不推荐),假设当前工作目录为bin//InputStreamin=newFileInputStream("./config.properties");props.load(in);in.close();//读取特定属性Stringkey="ip";Stringip=props.getProperty(key);//遍历所有属性,方式一Setkeys=props.keySet();for(Interatorit=keys.iterator();it.hasNext();){Stringk=it.next();System.out.println(k+":"+props.getProperty(k));}//遍历所有属性,方式二Enumerationen=props.propertyNames();while(en.hasMoreElements()){Stringk=en.nextElement();System.out.println(k+":"+props.getProperty(k));}}}1.通过Demo.class.getResourceAsStream("../config.properties");读取配置文件,配置文件的相对路径以类文件所在目录作为当前目录。

2.通过newFileInputStream("./config.properties");读取配置文件,配置文件的相对路径以工作目录(可以通过System.getProperty("user.dir")获取工作目录)作为当前目录。

注意:上述两种方式获取的配置文件均没有被缓存。每次都要重新加载配置文件。

写属性,示例:

Propertiesprops=newProperties();InputStreamin=getClass().getResouceAsStream("properties文件相对于当前类加载路径的文件目录");props.load(in);OutputStreamoutput=newFileOutputStream("properties文件路径");props.setProperty("ip","10.248.112.123");//修改或新增属性键值对props.store(output,"modifyipvalue");//store(OutputStreamoutput,Stringcomment)将修改结果写入输出流output.close()

四、通过ResourceBundle对象操作

通过该方式仅能读取配置文件而已,不能进行写操作。示例:

//ResourceBundlerb=ResourceBundle.getBundle("配置文件相对工程根目录的相对路径(不含扩展名)");ResourceBundlerb=ResourceBundle.getBundle("config");try{Stringname=rb.getString("name");}catch(MissingResourceExceptionex){注意:上述方式会缓存配置文件信息,后续读取时均是读取缓存中的内容,若在此期间修改了配置内容是无法实时同步的

ResourceBundle有两个子类ListResourceBundle和PropertyResourceBundle,在读取properties文件时实际上是使用PropertyResourceBundle来处理。

题外话:

ResourceBundle主要用于解决国际化和本地化问题。通过资源命名定义各语言和方言的信息,然乎程序在运行时获取当前本地化信息,并根据本地化信息加载相应的资源完成本地化。

资源命名规范:

//仅含家族名MyResource//含家族名和语言MyResource_en//含家族名、语言和国家MyResource_en_US对应的Java代码:

//ResourceBundle首先会根据语言和国家的本地化信息去查找资源(假设现在要查找MyResource_zh_CN),当找不到时就会找MyResource_zh,再找不到就用MyResource。ResourceBundlerb=ResourceBundle.getBundle("MyResource",Locale.getDefault())

THE END
1.SpringBoot配置文件(properties&yml)springbootyml配置文件listIDEA 社区版安装 Spring Assistant 插件之后,就可以正常创建 Spring Boot 项?了,并且 yml 的配置?件就有提示了。但默认情况下是不?持 properties 格式的?志提示的,这个时候需要安装了 Spring Tools 插件才会有相应的提示。 5.properties 配置文件的基本语法 https://blog.csdn.net/crazy_xieyi/article/details/129165690
2.ruoyi中如何每个微服务加载指定的配置文件3.2 yaml配置 3.3 测试 4 config client 读取指定目录下的配置文件 4.1 改造项目 4.2 测试 5 案例源码 1 什么是spring cloud config Spring Cloud Config 为分布式系统外部化配置提供了服务器和客户端的支持。它包含了两个部分Config Server 和Config Client。 https://blog.51cto.com/u_13527/12847805
3.005SpringBoot配置分析或者file目录 --spring.config.location=classpath:cong/app.propertis,file:E:/app.properties 方式二、文件注解@PropertySource 增加jdbc.properties配置文件 增加Config配置类 代码语言:javascript 复制 @Configuration @PropertySource("classpath:jdbc.properties")publicclassFileConfig{} https://cloud.tencent.com/developer/article/1381084
4.几种SpringBoot的属性配置方式详解java通常项目配置信息都写在.properties或者.yml文件中,但是打成jar包部署后,如果需要修改配置信息,还需要改完再重新打包部署,因此,下面介绍几种SpringBoot的属性配置方式,需要的朋友可以参考下+ 目录 一、引言 通常项目配置信息都写在.properties或者.yml文件中,但是打成jar包部署后,如果需要修改配置信息,还需要改完再https://www.jb51.net/program/3324062rv.htm
5..properties(Java配置文件)各种语言都有自己所支持的配置文件,配置文件中很多变量是经常改变的,这样做也是为了方便用户,让用户能够脱离程序本身去修改相关的变量设置。像Python支持的配置文件是.ini文件,同样,它也有自己读取配置文件的类ConfigParse,方便程序员或用户通过该类的方法来修改.ini配置文件。在Java中,其配置文件常为.properties文件,格https://www.jianshu.com/p/a954485d9b82
6.配置文件properties青竹玉简配置文件properties public class Common { private static Properties properties; static { try { properties = new Properties(); InputStream in = Common.class.getClassLoader().getResourceAsStream("config.properties"); properties.load(in); } catch (IOException e) {http://blog.chinaunix.net/uid-26727991-id-5464519.html
7.properties的概念及用法,详解application.properties配置文件application.properties是Spring Boot的标准配置文件,用于集中管理应用程序的配置属性。它的主要作用是将配置信息与代码分离,使得应用程序更具可维护性和可配置性。这个文件可以包含各种配置选项,包括数据库连接、端口设置、日志级别、缓存配置等等。通过简单的键值对,你可以轻松地配置整个应用程序的行为。 https://apifox.com/apiskills/spring-boot-application-properties/
8.Maven系列环境设置settings.xml官网详解属性(Properties) 仓库(Repositories) 插件仓库(Plugin Repositories) 活动配置文件(Active Profiles) 设置多个仓库 两种方法 仓库顺序 仓库ID 参考链接 【Maven系列】环境设置settings.xml官网详解 源自专栏《Gradle ScalaTest markdown idea Git中文实用教程目录》 快速概述 settings.xml 文件中的 settings 元素包含用于定义https://zhuanlan.zhihu.com/p/693332013/
9.我的世界服务器server.properties配置文件注释#Minecraft server properties #[星期] [月份] [日期] [时间] CST [年份] # 自动生成配置文件时附带的时间记录功能,可删除或忽略。 enable-jmx-monitoring = false # 是否允许 JMX 监视 # 允许值: # 是: true # 否: false rcon.port = 25575 https://www.bilibili.com/read/mobile/31404760