<返回更多

Java 读取本地 JSON 文件

2019-09-09    
加入收藏

在开发Elasticsearch的应用过程中,需要读取索引相关的JSON Settings、MAppings设置,将JSON文档存放到项目的resources 目录,然后读取并调用Elasticsearch API 执行。

Java 读取本地 JSON 文件

 

POM依赖

<dependency>

<groupId>com.alibaba</groupId>

<artifactId>fastjson</artifactId>

<version>1.2.56</version>

</dependency>

读取JSON工具类

package com.fanxb.esdemo.util;

import JAVA.io.*;

public class JsonUtil {

/**

* 读取json文件,返回json串

* @param fileName

* @return

*/

public static String readJsonFile(String fileName) {

String jsonStr = "";

try {

File jsonFile = new File(fileName);

Reader reader = new InputStreamReader(new FileInputStream(jsonFile),"utf-8");

int ch = 0;

StringBuffer sb = new StringBuffer();

while ((ch = reader.read()) != -1) {

sb.append((char) ch);

}

reader.close();

jsonStr = sb.toString();

return jsonStr;

} catch (IOException e) {

e.printStackTrace();

return null;

}

}

}

编写单元测试

getResource(""):这个方法可以用于查看当前目录。

this.getClass().getResource("")和this.getClass().getClassloader().getResource("") 区别?

第一个是类路径下(即 class 根目录);

第二个目录是 class目录里面当前类的包路径(package);

参考下图,推荐写法:

this.getClass().getClassLoader().getResource("文件名.文件类型")

Java 读取本地 JSON 文件

 

单元测试方法,具体代码如下。

@Test

public void readJsonFile(){

String path = this.getClass().getClassLoader().getResource("order_template.json").getPath();

String jsonFile = JsonUtil.readJsonFile(path);

System.out.println(jsonFile);

}

order_template.json文件放入resources资源目录中,如下是输出结果。

Java 读取本地 JSON 文件

 

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>