Java实现定时读取json文件里内容的示例代码
项目背景
有时候我们会需要定时来读取JSON配置文件里的内容,来执行一些业务逻辑上的操作。
比如:开发一个物流运输系统,系统需要定期读取一个包含货物信息的JSON文件,并对其中的数据进行处理和分析。这个JSON文件每天都会更新,包含了当天所有待运输货物的详细信息,例如货物名称、数量、重量等。
为了及时获取最新的货物信息并进行后续处理,我们就需要编写一个程序,它能够每天准时自动读取这个JSON文件,并将读取到的数据用于后续的业务逻辑。
代码实现
读取json配置文件
我们可以先写一个静态方法,参数为json配置文件的路径,然后再利用IO流来读取配置文件,放到一个Map集合内。
public static Map getMap(String path) {
Map map = new LinkedHashMap();
try {
//路径
ClassPathResource classPathResource = new ClassPathResource(path);
//读取文件信息
String str = IOUtils.toString(new InputStreamReader(classPathResource.getInputStream(), "UTF-8"));
//转换为Map对象
map = JSONObject.parseObject(str, LinkedHashMap.class);
} catch (Exception e) {
e.printStackTrace();
}
return map;
}再写一个forEache方法,来循环读取Map里的数据集,做一些业务处理操作。
public static void forEache() {
Map<String, String> result = BaseUtils.getMap("/config/data.json");
for (Map.Entry map : result.entrySet()) {
System.out.println(map.getValue().toString());
//利用读取的数据做一些业务操作
....
readArticle(map.getValue().toString());
}
}定时任务
Java 读取json文件里的内容已经实现,那么接下来就可以添加定时任务,来定时去执行。那么关于定时任务,市面上也有很多方法,但今天这次就先用Java 8 自带的Timer来实现,不需要依赖什么jar包,轻量级的定时任务。
@Scheduled(fixedRate = 600000) // 每1分钟执行一次
public void executeTask() {
forEache();
}主要的就是添加这个 @Scheduled 注解,它会自动去执行。
还有最后不要忘记在启动类上,开启定时任务的注解。 @EnableScheduling

测试

由输出结果,我们可以看出已经可以读取json配置文件中的内容。其实市面上获取json配置文件中的内容多种多样,但该方法用了极简的形式来实现,代码不多,还是很方便的。
到此这篇关于Java实现定时读取json文件里内容的示例代码的文章就介绍到这了,更多相关Java定时读取json内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Intellij IDEA使用restclient测试的教程图解
这篇文章主要介绍了Intellij IDEA使用restclient测试的教程图解,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2021-01-01
SpringBoot集成ip2region实现ip白名单的代码示例
ip2region v2.0 - 是一个离线IP地址定位库和IP定位数据管理框架,10微秒级别的查询效率,提供了众多主流编程语言的 xdb 数据生成和查询客户端实现,本文介绍了SpringBoot集成ip2region实现ip白名单的代码工程,需要的朋友可以参考下2024-08-08
一步步讲解Spring Boot整合MyBatis与PostgreSQL实战指南
这篇文章主要介绍了如何在SpringBoot环境中集成MyBatis和PostgreSQL,涵盖了环境搭建、项目创建、数据源配置、实体类与Mapper接口定义、MapperXML文件编写、业务层与控制层实现以及测试与验证的全过程,需要的朋友可以参考下2025-02-02
spring接口通过配置支持返回多种格式(xml,json,html,excel)
这篇文章主要给大家介绍了关于spring接口如何通过配置支持返回多种格式(xml,json,html,excel)的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。2017-12-12


最新评论