properties和XML配置文件内容的获取
@
总结内容
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 对象来获取字节码输出路径下的文件
// 为了获取 ClassLoad 对象,跟 Thread 没有关系
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是一种可扩展的标记语言使用注意事项:
1)名称可以含字母、数字以及其他的字符
2)名称不能以数字或者标点符号开始
3)名称不能以字符 “xml”(或者 XML、Xml)开始
4)名称不能包含空格
5)属性的名称没有要求
6)属性的值需要用引号引起来使用xml配置文件的好处
1)xml能存储小量数据,仅仅是存储数据。
2)xml可以跨平台,主流各种平台都对xml有支持, 真正的跨平台,
3)xml读取速度快。
4)xml规范性非常强,这样就可以更好的去解释文件内的信息。
5)xml 是各种应用程序之间进行数据传输的最常用的工具。
6)xml 不适合动态语言但非常适合强类型的语言。java 处理 xml 更容易。
7)xml从属关系严密。
8)xml非常适合用与描述数据,关系数据库都对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);
}
}
总结
以上就是对配置文件的总结了,代码仅供参考,欢迎讨论交流。
properties和XML配置文件内容的获取的更多相关文章
- .NET 获得指定XML配置文件内容
/// <summary> /// 获得指定XML文件内容 /// </summary> /// <param name="strPath">X ...
- hibernate.hbm.xml配置文件内容说明
下面是一个自动生成的配置文件: <?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-configuration PU ...
- pom.xml配置文件内容记录
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
- Spring框架xml配置文件 复杂类型属性注入——数组 list map properties DI dependency injection 依赖注入——属性值的注入依赖于建立的对象(堆空间)
Person类中的各种属性写法如下: package com.swift.person; import java.util.Arrays; import java.util.List; import ...
- Java中读取 .properties 和 .xml 文件
配置文件内容获取 总结内容 1. Java中为什么要使用配置文件 2. Java中常用的配置文件类型有哪些以及它们的特点 Properties配置文件 XML配置文件 总结 总结内容 1. Java中 ...
- Mybatis 源码分析--Configuration.xml配置文件加载到内存
(补充知识点: 1 byte(字节)=8 bit(位) 通常一个标准英文字母占一个字节位置,一个标准汉字占两个字节位置:字符的例子有:字母.数字系统或标点符号) 1.创建SqlSessionFacto ...
- 03SpringMvc_自定义的spring.xml配置文件和逻辑视图名
这篇文章的目的是实现Struts2中一种形式(封装视图的逻辑名称),在Struts2中Action处理后会返回"SUCCESS"这样,然后根据"SUCCESS" ...
- 获取 *.properties配置文件内容
package com.loan.modules.common.util; import java.util.ResourceBundle; /** * 获取 *.properties配置文件内容 * ...
- 读取properties和xml中配置文件的值
五种方式让你在java中读取properties文件内容不再是难题 在java中读取properties和xml文件中的方法:https://www.cnblogs.com/ConfidentLiu/ ...
随机推荐
- 【python】kNN基础算法--分类和推荐系统
(1)k-近邻算法是分类数据最简单最有效的方法. (2)在将数据输入到分类器之前,必须将待处理数据的格式改变为分类器可以接受的格式. (3)所有的推荐模型都可以使用这个算法,只要将结果量化就行了,主要 ...
- js json.stringfy()和json.parse()的用法
1.JSON.parse;作用:将JavaScript对象表示法的JSON字符串转换为对象(字符串转对象)语法:JSON.parse(text [, reviver])text 必选. 一个有效的 J ...
- tp5 缩略图自写
1:php终端 安装扩展 使用Composer安装ThinkPHP5的图像处理类库: composer require topthink/think-image2:控制器代码: public func ...
- Azure DevOps (四) 创建第一条流水线
前几篇文章,我们记录了一下azure代码仓库的使用,这篇开始,我们来搞一下azure的流水线. 流水线这个东西我觉得是devops中对于开发人员的灵魂组件,只要我们配置好了一次,剩下的所有部署都是自动 ...
- 一篇文章扒掉“桥梁Handler”的底裤
Android跨进程要掌握的是Binder, 而同一进程中最重要的应该就是Handler 消息通信机制了.我这么说,大家不知道是否认同,如果认同,还希望能给一个关注哈. 什么是Handler? Han ...
- ActiveMQ代码-01
p2p模式 生产者 package com.activemq.activemqdemo.p2p; import org.apache.activemq.ActiveMQConnectionFactor ...
- Redis快速入门:初识Redis
[IT168 专稿]在之前的文章中介绍了<Redis快速入门:选择Key-Value Store>,今天给大家介绍Redis的入门知识.Redis是一个开源的使用ANSI C语言编写.支持 ...
- 华为云图引擎服务 GES 实战——创图
本实验主要是熟悉 GES 的创图操作,GES 创图的大致流程如下所示. 环境准备 上传数据 导入元数据 创建图 环境准备 由于 GES 的原始数据是存在 OBS 上的,如果 OBS 上没有桶,需要按照 ...
- Oracle入门基础(一)一一基本查询
SQL> --当前用户 SQL> show user SQL> --当前用户下的表 SQL> select * from tab; TNAME TABTYPE CLUSTERI ...
- Go 语言 结构体
Go 语言 结构体 引言Go 语言中数组可以存储同一类型的数据,但在结构体中我们可以为不同项定义不同的数据类型结构体是由一系列具有相同类型或不同类型的数据构成的数据集合结构体表示一项记录,比如保存图书 ...