登陆

Java 读取本地 JSON 文件

admin 2019-10-27 256人围观 ,发现0个评论

在开发Elasticsearch的使用过程中,需求Java 读取本地 JSON 文件读取索引相关的JSON Settings、Mappings设置,将JSON文档存放到项目的resources 目录,然后读取并调用Elasticsearch API 履行。

POM依靠

com.alibaba

fastjson

1.2.56

读取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.Java 读取本地 JSON 文件append((char) ch);

}

reader.close();

jsonStr = sb.toString();

return jsonStr;

} catch (IOException e) {

e.prinJava 读取本地 JSON 文件tStackTrace();

return null;

}

}

}

编写单元测试

getResource(""):这个办法能够用于检查当时目录。

this.getClass().getResource("")和this.getClass().getClassloader().getResource("") 差异?

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

第二个目录是 class目录里边当时类的包途径(package);

参阅下图,引荐写法:

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

单元测试办法,详细代码如下。

@Test

public void readJsonFile(){

String Java 读取本地 JSON 文件path = this.getClass().getClassLoader().getResource("order_tJava 读取本地 JSON 文件emplate.json").getPath();

String jsonFile = JsonUtil.readJsonFile(path);

SystJava 读取本地 JSON 文件em.out.println(jsonFile);

}

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

请关注微信公众号
微信二维码
不容错过
Powered By Z-BlogPHP