Java中的配置文件

Java自己的配置文件 – properties

properties文件的编写

  • 一般情况下,建议将文件存储在源码文件目录中
  • 他的格式是 键值对
  • 如:age=18 特别注意,不能打空格不能打空格!!!

  • 一般,我们将编程过程中要用到的文件路径;类路径配置在其中
  • 特别的:这种文件编码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));//load方法加载文件System.out.println(properties.getProperty("name"));System.out.println(properties.getProperty("age"));System.out.println(properties.getProperty("gender"));//getProperty方法,获取键对应的值} catch (IOException e) {e.printStackTrace();}
}
/*
执行结果
张三
19
男
*/
  • 使用反射加载文件(类加载器)
@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();}
}
/*
执行结果
张三
19
男
*/

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);
}
/*
执行结果
<?xml version="1.0" encoding="UTF-8" ?>
<User>
<name>张三</name>
<age>10</age>
<gender>男</gender>
</User>
*/
  • dom4j包
/*
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
*/
@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();}}
/*执行结果:
生成user.xml文件
文件内容:
<?xml version="1.0" encoding="UTF-8"?>
<user><name>张三</name><age>10</age><gender>男</gender></user>
*/

JSON(JavaScript simple objet nation)

创建JavaScript的两种方法

  • let obj = new Object()
let obj = new Object();
obj.name = "张三";
obj.age = 18 ;
  • var obj = {}
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);
}
/*
执行结果
{"name":"张三","age":10,"gender":"男"}
*/

反序列化

@Test
void test01(){String s = "{\"name\":\"张三\",\"age\":10,\"gender\":\"男\"}";Gson gson = new Gson();User user = gson.fromJson(s, User.class);System.out.println(user);
}
/*
执行结果
User{name='张三', age=10, gender=男}
*/

Java中的数据文件相关推荐

  1. JAVA中.jsp模板文件AJAX异步请求 - 数据渲染问题

    JAVA中.jsp模板文件AJAX异步请求 - 数据渲染失败,谁的过失? 后端已经查询出来结果,但是返回的API接口response查看不到对应的信息.(即:后台有,前台没有) 原因分析: 是因为AJ ...

  2. java 从excel中读取数据_在Java中读取Excel文件的内容和导出数据到Excel文件中

    转自www.chianjavaworld.net 原作者:SonyMusic 读:rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr 在Java ...

  3. 在java中删除某个文件

    代码: public static void main(String[] args) {File file = new File("D:\\face0713\\fi"+key+&q ...

  4. 【java】java中内存映射文件和IO

    转载:https://leokongwq.github.io/2017/02/25/java-memorymapped-file-and-io.html 对大多数Java开发人员来说,Java中的内存 ...

  5. 【踩坑】Linux java中ftp下载文件,解压文件损坏,以及图片下载打开只显示下载路径的问题

    [踩坑]Linux java中ftp下载文件,解压文件损坏,以及图片下载打开只显示下载路径的问题 一. 问题重现 二. 问题解决思路 1. 确认是不是上传就导致数据出错了 2. 是不是平台问题 三. ...

  6. Java中 实现通过文件夹选择任一图像,从而进行图像卷积操作

    ** Java中 实现通过文件夹选择任一图像,从而进行图像卷积操作 ** 之前的那篇关于图像卷积的博客(Java中实现图像的卷积效果),只是讲了给定一张图片,从而实现图片的卷积操作:而现在,需要去实现 ...

  7. 使用AMDU工具从无法MOUNT的DISKGROUP中抽取数据文件

    AMDU是ORACLE针对ASM开发的源数据转储工具,其全称为ASM Metadata Dump Utility(AMDU) AMDU具体以下三个主要功能: 1. 将ASM DISK上的元数据转储到文 ...

  8. Java中如何读取文件夹下的所有文件

    问题:Java中如何读取文件夹下的所有文件 Java里面是如何读取一个文件夹下的所有文件的? 回答一 public void listFilesForFolder(final File folder) ...

  9. 关于Java中对于jsp文件的浅认识

    jsp文件可以作为java的模板页面?yes! 前端写好的HTML静态文件,后台的Java人员可以改为jsp文件,从而作为模板页面进行嵌套. 在项目中,或多或少的和java工程师有过一定的技术交流,发 ...

最新文章

  1. 电脑下边的任务栏不见了_XP系统任务栏被空白工具栏占领快速删除办法
  2. server 群辉emby_群晖容器中搭建支持硬件编码的Emby Server教程及注意事项
  3. input鼠标事件(快捷手册)
  4. linux未找到make命令,linux中无make命令的问题(make: *** 没有指明目标并且找不到 makefile及make命令安装方法)...
  5. java 创建本地文件、写入文本内容、调用IE浏览器打开
  6. 计算机c盘满了怎么搬家,c盘满了怎么办 c盘怎么搬家【搬家步骤】
  7. Java 综合性实验 Java源代码分析程序
  8. Python AutoCAD 文件
  9. 晶振的负载电容、寄生电容和动态电容及参考值
  10. 租住南山的互联网大厂人:年入70万,睡城中村单间
  11. 2022-4-23基于单片机的酒驾检测报警系统(MQ3酒精传感器)(风吹摇铃 奔赴星海)
  12. Having dreams is what makes life tolerable.
  13. 域名解析的DNS缓存如何清理
  14. 【Python】大数据挖掘课程作业3——使用朴素贝叶斯分类对B站评论进行分析
  15. 720 词典中最长的单词(Trie树)
  16. 透明度百分和六进制对比表
  17. C#解析ip.ws.126.net的IP查询地区接口数据(使用正则表达式匹配获取所需数据)
  18. 服务器异常消息微信通知
  19. C语言的一维数组名和对数组名取地址
  20. 利用计算机测地震是计算机的什么,六年级计算机测试题

热门文章

  1. Android 短信验证码输入框
  2. 【java工具方法】十六进制字符串转字符串
  3. 老师讲,这是个hin重要的C语言习题
  4. 什么是区块链服务网络(BSN)
  5. 安卓仿微信界面,导航,右上角菜单栏
  6. C++中含有无符号类型的表达式——有符号数与无符号数相加
  7. 为什么选一款适合自己的蓝牙耳机这么难?高性价比低延迟蓝牙耳机推荐
  8. Agglomerative Hierarchical Clustering(AHC)
  9. numpy IO 关于.npy文件
  10. 倾斜补偿的电子罗盘(2):磁传感器的误差来源、硬磁干扰的校准(3个参数)、实验验证