亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java實(shí)現(xiàn)定時(shí)讀取json文件里內(nèi)容的示例代碼

 更新時(shí)間:2023年08月02日 09:29:44   作者:SoftwareDevOps  
有時(shí)候我們會(huì)需要定時(shí)來(lái)讀取JSON配置文件里的內(nèi)容,來(lái)執(zhí)行一些業(yè)務(wù)邏輯上的操作,本文就介紹了Java實(shí)現(xiàn)定時(shí)讀取json文件里內(nèi)容的示例代碼,感興趣的可以了解一下

項(xiàng)目背景

有時(shí)候我們會(huì)需要定時(shí)來(lái)讀取JSON配置文件里的內(nèi)容,來(lái)執(zhí)行一些業(yè)務(wù)邏輯上的操作。

比如:開(kāi)發(fā)一個(gè)物流運(yùn)輸系統(tǒng),系統(tǒng)需要定期讀取一個(gè)包含貨物信息的JSON文件,并對(duì)其中的數(shù)據(jù)進(jìn)行處理和分析。這個(gè)JSON文件每天都會(huì)更新,包含了當(dāng)天所有待運(yùn)輸貨物的詳細(xì)信息,例如貨物名稱、數(shù)量、重量等。

為了及時(shí)獲取最新的貨物信息并進(jìn)行后續(xù)處理,我們就需要編寫一個(gè)程序,它能夠每天準(zhǔn)時(shí)自動(dòng)讀取這個(gè)JSON文件,并將讀取到的數(shù)據(jù)用于后續(xù)的業(yè)務(wù)邏輯。

代碼實(shí)現(xiàn)

讀取json配置文件

我們可以先寫一個(gè)靜態(tài)方法,參數(shù)為json配置文件的路徑,然后再利用IO流來(lái)讀取配置文件,放到一個(gè)Map集合內(nèi)。

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"));
        //轉(zhuǎn)換為Map對(duì)象
        map = JSONObject.parseObject(str, LinkedHashMap.class);
    } catch (Exception e) {
        e.printStackTrace();
    }
    return map;
}

再寫一個(gè)forEache方法,來(lái)循環(huán)讀取Map里的數(shù)據(jù)集,做一些業(yè)務(wù)處理操作。

   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());
            //利用讀取的數(shù)據(jù)做一些業(yè)務(wù)操作
            ....
            readArticle(map.getValue().toString());
        }
    }

定時(shí)任務(wù)

Java 讀取json文件里的內(nèi)容已經(jīng)實(shí)現(xiàn),那么接下來(lái)就可以添加定時(shí)任務(wù),來(lái)定時(shí)去執(zhí)行。那么關(guān)于定時(shí)任務(wù),市面上也有很多方法,但今天這次就先用Java 8 自帶的Timer來(lái)實(shí)現(xiàn),不需要依賴什么jar包,輕量級(jí)的定時(shí)任務(wù)。

@Scheduled(fixedRate = 600000) // 每1分鐘執(zhí)行一次
public void executeTask() {
    forEache();
}

主要的就是添加這個(gè) @Scheduled 注解,它會(huì)自動(dòng)去執(zhí)行。

還有最后不要忘記在啟動(dòng)類上,開(kāi)啟定時(shí)任務(wù)的注解。 @EnableScheduling

測(cè)試

由輸出結(jié)果,我們可以看出已經(jīng)可以讀取json配置文件中的內(nèi)容。其實(shí)市面上獲取json配置文件中的內(nèi)容多種多樣,但該方法用了極簡(jiǎn)的形式來(lái)實(shí)現(xiàn),代碼不多,還是很方便的。

到此這篇關(guān)于Java實(shí)現(xiàn)定時(shí)讀取json文件里內(nèi)容的示例代碼的文章就介紹到這了,更多相關(guān)Java定時(shí)讀取json內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • springboot整合Excel填充數(shù)據(jù)代碼示例

    springboot整合Excel填充數(shù)據(jù)代碼示例

    這篇文章主要給大家介紹了關(guān)于springboot整合Excel填充數(shù)據(jù)的相關(guān)資料,文中通過(guò)代碼示例介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用springboot具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08
  • Intellij IDEA使用restclient測(cè)試的教程圖解

    Intellij IDEA使用restclient測(cè)試的教程圖解

    這篇文章主要介紹了Intellij IDEA使用restclient測(cè)試的教程圖解,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • idea2020最新版配置maven的方法

    idea2020最新版配置maven的方法

    這篇文章主要介紹了idea2020最新版配置maven的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • java處理轉(zhuǎn)義字符↑ → ↓ 保存后的展示還原操作

    java處理轉(zhuǎn)義字符↑ → ↓ 保存后的展示還原操作

    這篇文章主要介紹了java處理轉(zhuǎn)義字符↑ → ↓ 保存后的展示還原操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • 簡(jiǎn)單了解java局部變量與成員變量的區(qū)別

    簡(jiǎn)單了解java局部變量與成員變量的區(qū)別

    這篇文章主要介紹了簡(jiǎn)單了解java局部變量與成員變量的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • SpringBoot集成ip2region實(shí)現(xiàn)ip白名單的代碼示例

    SpringBoot集成ip2region實(shí)現(xiàn)ip白名單的代碼示例

    ip2region v2.0 - 是一個(gè)離線IP地址定位庫(kù)和IP定位數(shù)據(jù)管理框架,10微秒級(jí)別的查詢效率,提供了眾多主流編程語(yǔ)言的 xdb 數(shù)據(jù)生成和查詢客戶端實(shí)現(xiàn),本文介紹了SpringBoot集成ip2region實(shí)現(xiàn)ip白名單的代碼工程,需要的朋友可以參考下
    2024-08-08
  • 詳解Spring Security如何配置JSON登錄

    詳解Spring Security如何配置JSON登錄

    這篇文章主要介紹了詳解Spring Security如何配置JSON登錄,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-07-07
  • 一步步講解Spring?Boot整合MyBatis與PostgreSQL實(shí)戰(zhàn)指南

    一步步講解Spring?Boot整合MyBatis與PostgreSQL實(shí)戰(zhàn)指南

    這篇文章主要介紹了如何在SpringBoot環(huán)境中集成MyBatis和PostgreSQL,涵蓋了環(huán)境搭建、項(xiàng)目創(chuàng)建、數(shù)據(jù)源配置、實(shí)體類與Mapper接口定義、MapperXML文件編寫、業(yè)務(wù)層與控制層實(shí)現(xiàn)以及測(cè)試與驗(yàn)證的全過(guò)程,需要的朋友可以參考下
    2025-02-02
  • 一文搞懂Spring中Bean的生命周期

    一文搞懂Spring中Bean的生命周期

    這篇文章主要為大家介紹了Spring中Bean生命周期的使用及控制,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定的參考價(jià)值,感興趣的可以學(xué)習(xí)一下
    2022-06-06
  • spring接口通過(guò)配置支持返回多種格式(xml,json,html,excel)

    spring接口通過(guò)配置支持返回多種格式(xml,json,html,excel)

    這篇文章主要給大家介紹了關(guān)于spring接口如何通過(guò)配置支持返回多種格式(xml,json,html,excel)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-12-12

最新評(píng)論