总结内容

1. Java中为什么要使用配置文件

为了减少代码的耦合性,以及便于后期维护,在开发中我们经常需要修改以前的数据,如果去改变代码容易出现一些错误,而有了配置文件我们就可以直接修改配置文件就好了,这样降低了代码之间的耦合性,同时也方便后期维护。

2. Java中常用的配置文件类型有哪些以及它们的特点

1)Java中常用的配置文件类型有 Properties 和 XML 配置文件。

Properties配置文件

  • 存储数据特点:
    1)使用键值对(key=value)格式,多对数据使用换行分开。
  • 使用注意事项:
    1)配置文件需要跟随着字节码走.需要放在 Resource Root 中. 会直接编译到字节码输出路径
    2)在配置文件中,所有的数据都是字符串,不需要使用引号
    3)在配置文件中不需要使用空格
  • 解析properties配置文件
public class PropertiesTest {
public static void main(String[] args) throws IOException {
// 读取配置文件中的数据
// Properties pt = new Properties(); // 解决路径写死问题,使用相对路径
// 相对于字节码的输出根路径,使用 ClassLoader 对象来获取字节码输出路径下的文件 InputStream in = Thread.currentThread(). // 当前线程
getContextClassLoader(). // 获取类加载器
getResourceAsStream("jdbc.properties"); // 加载配置文件
Properties pt = new Properties();
pt.load(in);
String username = pt.getProperty("jdbc.username");
String password = pt.getProperty("jdbc.password");
System.out.println("username = " + username);
System.out.println("password = " + password);
}
}

XML配置文件

  • 存储数据特点:
    1)xml是一种可扩展的标记语言

  • 使用xml配置文件的好处
    1)xml能存储小量数据,仅仅是存储数据。
    2)xml可以跨平台,主流各种平台都对xml有支持, 真正的跨平台,
    3)xml读取速度快。
    4)xml规范性非常强,这样就可以更好的去解释文件内的信息。
    5)xml 是各种应用程序之间进行数据传输的最常用的工具。
    6)xml 不适合动态语言但非常适合强类型的语言。java 处理 xml 更容易。

  • Document常用API
    1)document.getElementById(‘元素的ID’) 在整个文档中,通过元素的ID获取到这个元素对象(获取的是一个元素)
    注意: 如果页面中的id重复了,那么这个方法默认只获得第一个元素

    2)通过元素的标签名,来获取一组元素(有几个获取几个)
      document.getElementsByTagName(‘元素的标签名’) 在整个文档中,通过元素的标签名获取一组元素。获取的是一个对象数据类型结果,并且是一个类数组(以数字作为索引,索引从0开始,逐级递增,索引代表的是当前对应的某一个元素,有一个叫做length的属性代表获取的个数)

    3)document.getELementsByClassName(‘xxx’):这个跟上面一个类似,返回的也是数组,但是需要注意的是,它会返回所有包含xxx或者只有xxx的标签的数组。

  • 解析XML配置文件

public class XMLTest {
public static void main(String[] args) throws ParserConfigurationException, IOException, SAXException {
// 1、获取当前文档对象
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse("resources/user.xml");
// 2、获取根元素
Element root = document.getDocumentElement();
// 3、获取第二个 linkman 元素
// Element linkmanEl = (Element) root.getElementsByTagName("classname").item(0);
Element linkmanEl = (Element) root.getElementsByTagName("linkman").item(1);
// 4、获取第二个 linkman 元素下的 name 元素
Element nameEl = (Element) linkmanEl.getElementsByTagName("name").item(0);
// 5、获取文本内容
String content = nameEl.getTextContent();
System.out.println(content);
}
}

总结

以上就是对配置文件的总结了,代码仅供参考,欢迎讨论交流。

Java中读取 .properties 和 .xml 文件的更多相关文章

  1. 五种方式让你在java中读取properties文件内容不再是难题

    一.背景 最近,在项目开发的过程中,遇到需要在properties文件中定义一些自定义的变量,以供java程序动态的读取,修改变量,不再需要修改代码的问题.就借此机会把Spring+SpringMVC ...

  2. java中采用dom4j解析xml文件

    一.前言 在最近的开发中用到了dom4j来解析xml文件,以前听说过来解析xml文件的几种标准方式:但是从来的没有应用过来,所以可以在google中搜索dmo4j解析xml文件的方式,学习一下dom4 ...

  3. JAVA中通过Jaxp操作XML文件基础

    Java中有多种方式操作XML文件,目前讲一讲以SUN公司提供的DocumentBuilderFactory工厂类对象操作XML. 使用XML基本操作就是需要CRUD(增删改查),那么首先通过一个查询 ...

  4. Java中读取.properties配置文件的通用类

    由于Java中读取配置文件的代码比较固定,所以可以将读取配置文件的那部分功能单独作为一个类,以后可以复用.为了能够达到复用的目的,不能由配置文件中每一个属性生成一个函数去读取,我们需要一种通用的方法读 ...

  5. Java中读取properties资源文件

    一.通过ResourceBundle来读取.properties文件 /** * 通过java.util.resourceBundle来解析properties文件. * @param String ...

  6. JAVA中使用DOM解析XML文件

    XML是一种方便快捷高效的数据保存传输的格式,在JSON广泛使用之前,XML是服务器和客户端之间数据传输的主要方式.因此,需要使用各种方式,解析服务器传送过来的信息,以供使用者查看. JAVA作为一种 ...

  7. java中利用dom4j解析XML文件

    官网下载Dom4j地址:https://dom4j.github.io/ 注意:使用Dom4j开发,需下载dom4j相应的jar文件 题目:后台利用dom4j解析student.xml文件,并返回Li ...

  8. Java中实现SAX解析xml文件到MySQL数据库

    大致步骤: 1.Java bean 2.DBHelper.java 3.重写DefaultHandler中的方法:MyHander.java 4.循环写数据库:SAXParserDemo.java ① ...

  9. 读取properties和xml中配置文件的值

    五种方式让你在java中读取properties文件内容不再是难题 在java中读取properties和xml文件中的方法:https://www.cnblogs.com/ConfidentLiu/ ...

随机推荐

  1. Phoenix使用

    目录 Phoenix连接 Phoenix常用命令 表映射 视图映射 表映射 Phoenix二级索引 开启索引支持 全局索引 创建索引后 创建多条件索引后 本地索引 覆盖索引 总结 Phoenix JD ...

  2. 一文详解Redis键过期策略

    摘要:Redis采用的过期策略:惰性删除+定期删除. 本文分享自华为云社区<Redis键过期策略详解>,作者:JavaEdge. 1 设置带过期时间的 key # 时间复杂度:O(1),最 ...

  3. LGP7814题解

    lmpp 教你对着样例得到做法.jpg 题意:给定一个长度为 $ n $ 的字符串 A,要求你构造一个字符串 B,使得 A 是 B 的子序列且 A 不是 B 的子串. 首先给出无解的判断方法: if( ...

  4. Linux性能优化实战内存篇(五)

    一.Linux内存工作原理 1,内存映射 Linux内核给每个进程都提供了一个独立的虚拟空间,并且这个地址空间是连续的.这样,进程就可以很方便地访问内存,更确切地说是访问虚拟内存. 虚拟地址空间的内部 ...

  5. 导入导出笔记-easyExcel初探(表格导入和模板化导出)

    前言 本文使用的EasyExcel Alibaba和EasyPoi Apache技术栈分析 EasyExcel Dependency EasyPoi Dependency 1.需求一:表格化需求导入导 ...

  6. 从源码分析RocketMq消息的存储原理

    rocketmq在存储消息的时候,最终是通过mmap映射成磁盘文件进行存储的,本文就消息的存储流程作一个整理.源码版本是4.9.2 主要的存储组件有如下4个: CommitLog:存储的业务层,接收& ...

  7. Failed to execute "C:\learn\C\程序练习\1.exe": Error 0: 操作成功完成。 请按任意键继续. . .问题解决

    在DEV中编译运行时出现以上提示,原因是该文件被杀毒软件隔离了,认为它是病毒文件 解决办法,找到该文件进行恢复

  8. P3956 [NOIP2017 普及组] 棋盘

    P3956 [NOIP2017 普及组] 棋盘 题目 题目描述 有一个 m×m 的棋盘,棋盘上每一个格子可能是红色.黄色或没有任何颜色的.你现在要从棋盘的最左上角走到棋盘的最右下角. 任何一个时刻,你 ...

  9. ::before和:after中的的双冒号和单冒号有什么区别及这两个伪元素的作用

    ::before和:after中的的双冒号和单冒号有什么区别及这两个伪元素的作用 单冒号(:)用于CSS3伪类,双冒号(::)用于CSS3伪元素(伪元素由双冒号和伪元素名称组成),为了兼容已有的伪元素 ...

  10. mysql覆盖索引与回表

    mysql覆盖索引与回表 Harri2012关注 62019.07.28 11:14:15字数 1,292阅读 77,322 select id,name where name='shenjian' ...