如何获取properites文件
我们将如何来获取properites文件
1.1同包下的资源文件
public class PropertiesDemo {
public static void main(String[] args) throws IOException {
//将当前同包下的db.properties资源文件转换为输入流
InputStream in = PropertiesDemo.class.getResourceAsStream("db.properties");
Properties p =new Properties();
p.load(in);//加载到工具类
System.out.println(p.getProperty("uname"));
System.out.println(p.getProperty("upass"));
}
//不同包的资源文件
public class PropertiesDemo {
public static void main(String[] args) throws IOException {
//将当前同包下的db.properties资源文件转换为输入流
//斜杆/代表根目录
InputStream in = PropertiesDemo.class.getResourceAsStream("/db.properties");
Properties p =new Properties();
p.load(in);//加载到工具类
System.out.println(p.getProperty("uname"));
System.out.println(p.getProperty("upass"));
}
存放位置
1.1 src根目录下 PropertiesDemo 代表的是我的包名
PropertiesDemo .class.getResourceAsStream("/config.properties");
1.2 与读取配置文件的类在同一包 PropertiesDemo.class.getResourceAsStream(“config2.properties”);
在这之前记住一定要先创建XML
如果之前忘记了勾选那么就按照小编写的步骤慢慢来勾选吧
1.找到自己所创建的项目名右键
2.找到Java EE Tools
3.双击Generate Deployment Descriptor Stub就完成啦
如何去解析XML
在这时需要两个外部工具包
jaxen-1.1-beta-6
dom4j-1.6.1
注:不要导错了架包
import java.io.InputStream;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;
//这相当于一个学生集合
//里面放的是一些学生
<?xml version="1.0" encoding="UTF-8"?>
<students>
<student sid="s001">
<name>小明</name>
</student>
<student sid="s002">
<name>小芳</name>
</student>
<student sid='s003'>
<name>小王</name>
</student>
</students>
//第一种方法
public class XmlParseDemo {
public static void main(String[] args) throws DocumentException {
InputStream in = XmlParseDemo.class.getResourceAsStream("students.xml");
SAXReader saxReader =new SAXReader();
Document doc = saxReader.read(in);
//获取到所以的学生
List<Element> stuEles = doc.selectNodes("/students/student");
2.遍历
for (Element stuEle : stuEles) {
if("s003".equals(stuEle.attributeValue("sid"))) {
//获取到小王
Node nameEle = (Element)stuEle.selectSingleNode("name");
System.out.println(nameEle.getText());
}
}
//第二种方法
public class XmlParseDemo {
public static void main(String[] args) throws DocumentException {
InputStream in = XmlParseDemo.class.getResourceAsStream("students.xml");
SAXReader saxReader =new SAXReader();//这是xml所自带的方法 与properites不同
Document doc = saxReader.read(in);
InputStream in = XmlParseDemo.class.getResourceAsStream("students.xml");
SAXReader saxReader =new SAXReader();
Document doc = saxReader.read(in);
Node stuEleS003 = doc.selectSingleNode("/students/student[@sid='s003']");
System.out.println(stuEleS003.selectSingleNode("name").getText());
}
}
解析的方法有很多种 比如:
jdk/jdom
sax解析 由上往下解析
dom4j解析 由外到内解析
dom4j+xpath解析xml文件
xpath等同数据库的select语句
document.selectNodes(xpath);//查一组
document.selectSingleNode(xpath);//查单个
properties文件的解析方式有java.util.properties这个类来完成
xml文件:应该有一个工具类来完成
DOM由节点组成
Node
元素节点
属性节点
文本节点
xpath
/ 定位路径 在系统中建一个文件叫document/students/student/sid|name
什么是节点
:列如
这里的每一个标签都代表这一个节点
<html>
<body>
<div id="head"></div>
<div id="content">
xxxx
<div></div>
</div>
</body>
</html>
静态资源文件 列如:
css、js、html、图片、视屏