最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java讀取json文件的2種方式例子

 更新時間:2023年07月06日 08:33:51   作者:amcomputer  
這篇文章主要給大家介紹了關于java讀取json文件的2種方式,在開發(fā)過程中有時會遇到需要讀取.json文件的需求,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下

1 背景介紹

研發(fā)過程中,經(jīng)常會涉及到讀取配置文件等重復步驟,也行是.conf文件,也許是.json文件,但不管如何他們最終都需要進入到jave的inputStream里面。下面以讀取.json文件為例

2 FileInputStream讀取

需要1個參數(shù):

  • fileName: 文件名,一般為絕對路徑,不然可能會找不到?;蛘吆蚸ava文件同一個路徑下
static String readWithFileInputStream(){
        String jsonString;
                //System.getProperty("user.dir")為獲取根目錄
                //File.separator為不同操作系統(tǒng)的分隔符,linux和win是不一樣的
                //tempFilePath該字符串里面為我們配置文件的路徑
               String fileName = "xx_config.json";
//                String tempFilePath = System.getProperty("user.dir") + File.separator + "resource" + File.separator + fileName;
//                System.out.print(tempFilePath);
        StringBuilder sb = new StringBuilder();
                try{
                    InputStream input = new FileInputStream(fileName);
                    byte[] buffer = new byte[1024];
                    int length = 0;
                    length = input.read(buffer);
                    while(length != -1){
                        sb.append(new String(buffer, 0 , length));
                        length = input.read(buffer);
                    }
                }catch (Exception e){
                    e.printStackTrace();
                }
        return    jsonString = sb.toString();
            }

最終返回一個String。然后通過JSON工具就可以轉為自己想讀取到模型啦。

    TargetConfig config = (TargetConfig) JSON.parseObject(jsonString, TargetConfig.class);

但該種方式不靈活,需要把路徑寫死,或者寫成絕對路徑。

3 ClassLoader讀取

需要2個參數(shù):

  • fileName: 文件名
  • ClassLoader: 類加載器,一般為當前類
    static String readWithClassLoader() throws IOException {
        String fileName = "xx_config.json";
       ClassLoader  classLoader =  TargetConfig.class.getClassLoader();
        BufferedReader reader = null;
            InputStream inputStream = classLoader.getResourceAsStream(fileName);
            reader = new BufferedReader(new InputStreamReader(inputStream));
            StringBuilder content = new StringBuilder();
            String line = reader.readLine();
            while (!StringUtil.isEmpty(line)) {
                content.append(line);
                line = reader.readLine();
            }
            return content.toString();
    }

和之前一樣,最終返回一個String。然后通過JSON工具就可以轉為自己想讀取到模型啦。

    TargetConfig config = (TargetConfig) JSON.parseObject(jsonString, TargetConfig.class);

但使用類加載讀取,可以不用寫死路徑。比第一種要靈活很多。

總結

到此這篇關于java讀取json文件的2種方式的文章就介紹到這了,更多相關java讀取json文件內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Spring?AOP?后置處理器使用方式

    Spring?AOP?后置處理器使用方式

    這篇文章主要介紹了Spring?AOP?后置處理器使用方式,文章圍繞主題相關內容展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-05-05
  • Mybatis-Plus中updateById方法不能更新空值問題解決

    Mybatis-Plus中updateById方法不能更新空值問題解決

    本文主要介紹了Mybatis-Plus中updateById方法不能更新空值問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • Java通用工程模塊bom包管理詳細代碼示例

    Java通用工程模塊bom包管理詳細代碼示例

    BOM本質上是一個普通的POM文件,區(qū)別是對于使用方而言,生效的只有這一個部分,這篇文章主要介紹了Java通用工程模塊bom包管理的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2026-06-06
  • 2019年最新Java學習路線圖

    2019年最新Java學習路線圖

    不管你是不懂電腦的小白,還是已經(jīng)步入開發(fā)的大牛,這套路線路絕對不容錯過,路線圖的宗旨就是分享,專業(yè),便利,讓喜愛Java的人,都能平等的學習,感興趣的同學可以了解一下
    2019-03-03
  • Spring中@Import的各種用法以及ImportAware接口詳解

    Spring中@Import的各種用法以及ImportAware接口詳解

    這篇文章主要介紹了Spring中@Import的各種用法以及ImportAware接口詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-10-10
  • Java獲取本機IP的幾種常見方法

    Java獲取本機IP的幾種常見方法

    在Java編程中,我們經(jīng)常需要獲取本地或遠程計算機的IP地址,IP地址是用于唯一標識計算機的一組數(shù)字,它在網(wǎng)絡通信中起到重要的作用,下面將介紹幾種在Java中獲取IP地址的方法,并提供相應的源代碼,需要的朋友可以參考下
    2025-05-05
  • 解決idea中maven項目打包成jar報錯:沒有主清單屬性的問題

    解決idea中maven項目打包成jar報錯:沒有主清單屬性的問題

    這篇文章主要給大家分享了idea中maven項目打包成jar,報錯沒有主清單屬性解決方法,文中有詳細的解決方法,如果又遇到同樣問題的朋友可以參考一下本文
    2023-09-09
  • java理論基礎函數(shù)式接口特點示例解析

    java理論基礎函數(shù)式接口特點示例解析

    這篇文章主要為大家介紹了java理論基礎函數(shù)式接口特點示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-03-03
  • Spring MVC攔截器的基本使用方法

    Spring MVC攔截器的基本使用方法

    這篇文章主要給大家介紹了關于Spring MVC攔截器的基本使用方法,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Spring MVC具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-07-07
  • Java進行文件格式校驗的方案詳解

    Java進行文件格式校驗的方案詳解

    這篇文章主要為大家詳細介紹了Java中進行文件格式校驗的相關方案,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2025-04-04

最新評論

喀喇| 五莲县| 志丹县| 灵武市| 长岭县| 兴安县| 英吉沙县| 昭通市| 永寿县| 麦盖提县| 聂荣县| 天气| 博客| 资中县| 柳州市| 六枝特区| 海丰县| 深圳市| 耒阳市| 万盛区| 南江县| 洛宁县| 洛阳市| 林西县| 伽师县| 桐柏县| 安塞县| 兴安盟| 建平县| 兴海县| 凤阳县| 宁蒗| 琼中| 岑溪市| 营山县| 阜阳市| 阿拉尔市| 濮阳市| 隆昌县| 象州县| 大名县|