一、properties类读取配置文件

1、从项目中读取properties配置文件,新建一个main程序,对应位置建立一个名称为config.properties配置文件,随意放置一些键值对。IDEA建立配置文件,对应package鼠标右键,点击New,再点击Resource Bundle,弹出对话框输入名称保存即可。

2、以下实例,读取配置文件,然后遍历key值和value值,采用此种方式读取项目中配置文件,将不依赖具体环境。

 1 public class HelloWorld {
2 public static void main(String[] args) {
3 Properties properties=new Properties();
4 InputStream in=HelloWorld.class.getClassLoader().getResourceAsStream("Config/config.properties");
5 try{
6 properties.load(in);
7 Enumeration enumeration=properties.propertyNames();
8 while (enumeration.hasMoreElements()){
9 String strKey=(String)enumeration.nextElement();
10 String strValue=properties.getProperty(strKey);
11 System.out.println("key:"+strKey+";Value:"+strValue);
12 }
13 }catch(Exception e){
14 System.out.println("There is An IO error!");
15 }
16 }
17 }

  (1)读取后另一种遍历方式

1     InputStream in = new BufferedInputStream(new FileInputStream("D:/b.properties"));
2 properties.load(in);
3 Iterator<String> it = properties.stringPropertyNames().iterator();
4 while (it.hasNext()) {
5 String key = it.next();
6 System.out.println(key + ":" + properties.getProperty(key));
7 }

3、一些其它读取配置文件的方法

  (1)从环境固定位置读取配置文件,配置文件放在某个磁盘下几种方式。   

1    FileInputStream in=new FileInputStream("D:/config.properties");
2 properties.load(in);

  或

1    InputStream in= new BufferedInputStream(newFileInputStream("D:/config.properties"));
2 properties.load(in);

  或

1    BufferedReader bufferedReader = new BufferedReader(new FileReader("D:/config.properties"));
2 properties.load(bufferedReader);

4、配置文件添加新的键值对,然后将保存成一个新文件并存储。

1    FileOutputStream oFile = new FileOutputStream("D:/b.properties", true);//true表示追加打开
2 properties.setProperty("移动", "10086");
3 properties.store(oFile, "The New properties file has Created");
4 oFile.close();

二、java.util.ResourceBundle类读取properties配置文件,这种方式来获取properties属性文件不需要加.properties后缀名,只需要文件名即可。

1    ResourceBundle resource = ResourceBundle.getBundle("Config/config");
2 String key = resource.getString("foo");
3 System.out.println(key);

三、XML配置文件读取

使用dom4j解析xml,下载地址:https://dom4j.github.io/

1、xml文件内容

 1 <?xml version="1.0" encoding="UTF-8"?>
2 <CONFIG>
3 <VALUE>
4 <!-- mysql连接设置 -->
5 <server>127.0.0.1</server>
6 <dbname>users</dbname>
7 <user>root</user>
8 <pass>pass</pass>
9 <port>3306</port>
10 </VALUE>
11 </CONFIG>

2、XML项目中所在位置

3、测试代码

 1 import org.dom4j.Document;
2 import org.dom4j.Element;
3 import org.dom4j.io.SAXReader;
4 import java.io.File;
5 import java.net.URL;
6 import java.util.Iterator;
7
8 try {
9 URL filePath=null;
10 filePath = HelloWorld.class.getClassLoader().getResource("config/aaa.xml");
11 File f =new File(filePath.getPath());
12 if (!f.exists()) {
13 System.out.println(" Error : Config file doesn't exist!");
14 System.exit(1);
15 }
16 SAXReader reader = new SAXReader();
17 Document doc;
18 doc = reader.read(f);
19 Element root = doc.getRootElement();
20 Element data;
21 Iterator<?> itr = root.elementIterator("VALUE");
22 data = (Element) itr.next();
23 String server = data.elementText("server").trim();
24 String user = data.elementText("user").trim();
25 String pass = data.elementText("pass").trim();
26 String port = data.elementText("port").trim();
27 String dbname = data.elementText("dbname").trim();
28 System.out.println(server);
29 System.out.println(user);
30 System.out.println(pass);
31 System.out.println(port);
32 System.out.println(dbname);
33 } catch (Exception ex) {
34 System.out.println("Error : " + ex.toString());
35 }

4、注意事项:以上的获取XML配置资源,主要依赖第三方包dom4j,下载地址在上面已经给出。将第三方jar包引用到当前项目可以参考:https://blog.csdn.net/MAOZEXIJR/article/details/88966876

四、尊重原创,以上有些内容参考了以下链接内容。

https://www.cnblogs.com/mengxiangqihang/p/4150450.html

https://www.cnblogs.com/xudong-bupt/p/3758136.html

https://www.cnblogs.com/bakari/p/3562244.html

      https://www.cnblogs.com/xudong-bupt/p/3758136.html

Java Properties配置文件和XML配置文件读取的更多相关文章

  1. Java学习-023-Properties 类 XML 配置文件读取及写入源代码

    之前的几篇 Properties 文章已经讲述过了 Java 配置文件类 Properties 的基本用法,查看 JDK 的帮助文档时,也可看到在 Properties 类中还有两个方法 loadFr ...

  2. Spring框架 全注解annotation不使用配置文件(SpringConfiguration.java类代替) 补充 xml配置文件没有提示解决

    全注解不使用配置文件 首先还是倒包 在原有的jar包: 需Spring压缩包中的四个核心JAR包 beans .context.core 和expression 下载地址: https://pan.b ...

  3. 基于Java Properties类设置本地配置文件

    一.Java Properties类介绍 Java中有个比较重要的类Properties(Java.util.Properties),主要用于读取Java的配置文件,各种语言都有自己所支持的配置文件, ...

  4. Java web 项目 web.xml 配置文件加载过程

    转载自:http://blog.csdn.net/luoliehe/article/details/46884757#comments WEB加载web.xml初始化过程: 在启动Web项目时,容器( ...

  5. ssm框架 spring的主配置文件 spring-mvc主配置文件 web.xml配置文件(基础的配置文件)

    1.spring主配置文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=" ...

  6. Spring配置文件和SpringMVC配置文件 web.xml配置文件 保存自用

    话不多说,最近在周末自己抽时间写一些框架做的系统,当所有东西都需要自己配置时候发现自己压根记不住这么多类和路径,所以日常总结就变得尤为重要了 db-config.properties 将配置文件常量提 ...

  7. zookeeper中controller项目中资源配置文件applicationContext.xml配置文件编写

    <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.spr ...

  8. WEB.xml配置文件解读

    1.启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点. 2.紧急着,容创建一个Servl ...

  9. javaweb项目中关于配置文件web.xml的解析

    一..启动tomcat,加载项目中的web.xml文件,创建servercontext上下文对象. 可以通过servercontext对象在应用中获取web.xml文件中的值. web应用加载的顺序与 ...

  10. Java Web的web.xml文件作用及基本配置(转)

    其实web.xml就是asp.net的web.config一个道理. 说明: 一个web中完全可以没有web.xml文件,也就是说,web.xml文件并不是web工程必须的. web.xml文件是用来 ...

随机推荐

  1. 这些“人美话又多”的同事们:2022 Q1 招聘人员 评优名单公布

    ​ ​ 编辑 ​ 编辑 ​ 编辑 ​ 编辑 ​ 编辑 ​ 编辑 ​ 编辑 ​ 编辑 ​ 编辑 欢迎大家后台留言报名哈~ ​

  2. Java 后端搞 MVC 是邪路

    前两天和朋友讨论,我展示了一番 d2js,朋友有点纳闷,你这个是直接操作数据库,不是违背了 MVC 设计思想吗? 经常讨论有助于刺激思维.这次本人忽然进入了状态,终于意识到问题所在! 现在的系统叠床架 ...

  3. 体验.NET与文件存储服务MinIO

    对象文件存储服务(OSS)主要用于存储零散的文件,和直接存储到本地文件系统中相比,有以下的几个优势: 跨服务器可用 兼容Amazon S3 API 横向扩容 高可用 支持加密 MinIO就是一个高性能 ...

  4. 一个.NET开源、易于使用的屏幕录制工具

    前言 一款高效.易用的屏幕录制工具能够极大地提升我们的工作效率和用户体验,今天大姚给大家分享一个.NET开源.免费.易于使用的屏幕录制工具:Captura. 工具介绍 Captura是一款基于.NET ...

  5. Docker Compose - 向远程主机部署服务

    问题描述 通常,我们本地编写 docker-compose.yml 文件,然后运行测试.但是,我们需要在 arm64 环境中进行测试,无法在本地直接运行测试. 我们希望可以在本地编写,然后本地使用 d ...

  6. DevNow x Notion

    前言 Notion 应该是目前用户量比较大的一个在线笔记软件,它的文档系统也非常完善,支持多种文档格式,如 Markdown.富文本.表格.公式等. 早期我也用过一段时间,后来有点不习惯,就换到了 O ...

  7. Qt音视频开发26-监控画面各种图形绘制设计

    一.前言 视频监控系统做到后面,逐渐需要搭配人工智能算法,将算法计算后的信息以OSD标签以及方框各种图形的信息显示到视频中,这种当然和OSD一样也是有两种方式,一种是源头就贴好了,一种是将结果发给软件 ...

  8. Qt编写可视化大屏电子看板系统29-模块7品质管理

    一.前言 品质管理模块是在送检合格模块的基础上增加了统计而来,总共包括了三个子模块:品质占比.班组合格率.每日合格率统计,其中品质占比子模块采用饼图控件显示对应的百分比,不同百分比颜色不一样,这个饼图 ...

  9. JMeter使用指南+实验报告

    JMeter使用指南 目录 JMeter使用指南 界面基本配置方法 1.选项里的放大与缩小--缩放字体 2.选项里的选择语言 3.命令行的调出 注意事项 一些指标介绍 1.TCP取样器 2.汇总/聚合 ...

  10. 直播预览层(AVCaptureVideoPreviewLayer)底层实现

    分析sampleBuffer(帧数据) 通过设置AVCaptureVideoDataOutput的代理,就能获取捕获到一帧一帧数据 [videoOutput setSampleBufferDelega ...