Java中的配置文件
Java自己的配置文件 – properties
properties文件的编写
- 一般情况下,建议将文件存储在源码文件目录中
- 他的格式是 键值对
- 如:age=18 特别注意,不能打空格不能打空格!!!
![在这里插入图片描述](https://img-blog.csdnimg.cn/5266a2f6edaa437ea4bd90707a708d44.png)
- 一般,我们将编程过程中要用到的文件路径;类路径配置在其中
- 特别的:这种文件编码iso-8859-1,是不支持中文的 ,这里我的是中文的原因是因为,我的IDEA设置成了utf-8
properties文件的使用 – Properties类
@Test
void test01(){
Properties properties = new Properties();
try {
properties.load(new InputStreamReader(new FileInputStream("src\\test.properties"), StandardCharsets.UTF_8));
System.out.println(properties.getProperty("name"));
System.out.println(properties.getProperty("age"));
System.out.println(properties.getProperty("gender"));
} catch (IOException e) {
e.printStackTrace();
}
}
@Test
void test02(){
InputStream resourceAsStream = TestProperties.class.getClassLoader().getResourceAsStream("test.properties");
Properties properties = new Properties();
try {
properties.load(resourceAsStream);
System.out.println(properties.getProperty("name"));
System.out.println(properties.getProperty("age"));
System.out.println(properties.getProperty("gender"));
} catch (IOException e) {
e.printStackTrace();
}
}
JSON和XML数据解析
XML(可扩展性标签语言):
- 和它对应的就是HTML(超文本标记语言)
- 例如 a标签 超链接
- img标签,图片资源
- li 列表等等
- XML : 相比于HTML 优点在于 可自定义标签
编写格式
<?xml version="1.0" encoding="UTF-8" ?>
<对象名>
<属性名>属性值</属性名>
...
</对象名>
JAVA 对象生成 XML
@Test
void test01(){
User user = new User("张三",10,'男');
StringBuilder strXML = new StringBuilder();
strXML.append("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>"+"\n");
strXML.append("<User>\n");
strXML.append("<name>"+user.getName()+"</name>\n");
strXML.append("<age>"+user.getAge()+"</age>\n");
strXML.append("<gender>"+user.getGender()+"</gender>\n");
strXML.append("</User>");
System.out.println(strXML);
}
@Test
void test(){
Document document = DocumentHelper.createDocument();
Element root = document.addElement("user");
Element author1 = root.addElement("name")
.addText("张三");
Element author2 = root.addElement("age")
.addText("10");
Element author3 = root.addElement("gender")
.addText("男");
FileWriter out = null;
try {
out = new FileWriter("user.xml");
document.write(out);
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
JSON(JavaScript simple objet nation)
创建JavaScript的两种方法
let obj = new Object();
obj.name = "张三";
obj.age = 18 ;
var obj = {
"name":"张三",
"age":18
}
{
users:[
{},{},{}
]
}
java对象和json数据之间完成转换常用包
- jackjson
- fastjson //阿里巴巴
- gson // 谷歌
序列化
@Test
void test(){
User user = new User("张三",10,'男');
Gson gson = new Gson();
String s = gson.toJson(user);
System.out.println(s);
}
反序列化
@Test
void test01(){
String s = "{\"name\":\"张三\",\"age\":10,\"gender\":\"男\"}";
Gson gson = new Gson();
User user = gson.fromJson(s, User.class);
System.out.println(user);
}