java读取json配置文件_解决:java 读取 resources 下面的 json 文件

本文介绍如何使用Java从资源目录下读取JSON配置文件。提供了一个配置文件工具类`PropertiesUtils`,该类包含一个静态方法`readJsonFile`用于读取指定路径的JSON文件,并将其内容转换为字符串。在实际使用中,由于缺少maven的资源配置,导致无法正确读取到JSON文件,需在pom.xml中添加相应配置。
摘要由CSDN通过智能技术生成

前言:java 读取 工程下的配置文件,文件类型为 json(*.json),记录一下始终读取不到 json 文件的坑。maven项目

直接上工具类代码

package com.yule.component.dbcomponent.utils;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import org.springframework.util.ResourceUtils;

import java.io.*;

/**

* 配置文件工具类

* @author yule

* @date 2018/9/28 16:26

*/

public class PropertiesUtils {

private static final Logger logger = LoggerFactory.getLogger(PropertiesUtils.class);

/**

* 读取json文件,返回json字符串

* @param fileName

* @return

*/

public static String readJsonFile(String fileName) {

FileReader fileReader = null;

Reader reader = null;

try {

File jsonFile = ResourceUtils.getFile("classpath:" fileName);

fileReader = new FileReader(jsonFile);

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

int ch;

StringBuffer sb = new StringBuffer();

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

sb.append((char) ch);

}

fileReader.close();

reader.close();

String jsonStr = sb.toString();

return jsonStr;

} catch (IOException e) {

e.printStackTrace();

logger.error("读取文件报错", e);

} finally {

if(fileReader != null){

try {

fileReader.close();

} catch (IOException e) {

e.printStackTrace();

}

}

if(reader != null){

try {

reader.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

return null;

}

}

调用方式:

limit.json 项目路径为 resources->conf->system->limit.json

String json = PropertiesUtils.readJsonFile("conf/system/limit.json");

System.out.println(json);

注意:

我在开发中遇到一个坑,始终读取不到 json 文件,报错,是因为 pom.xml 文件里面没有配置:

src/main/java

**/*.xml

true

src/main/resources

**/*.properties

**/*.xml

**/*.json

true

来源:http://www.icode9.com/content-1-28161.html

Java,可以使用以下步骤来读取resourcesJSON文件: 1. 首先,确保将JSON文件放置在src/main/resources目录下,这是Java默认的资源文件夹。 2. 使用`ClassLoader`类的`getResourceAsStream`方法来获取JSON文件的输入流。代码示例如下: ``` InputStream inputStream = getClass().getClassLoader().getResourceAsStream("filename.json"); ``` 这里的`filename.json`是你要读取JSON文件文件名。 3. 使用`BufferedReader`类来读取输入流的内容。代码示例如下: ``` BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); ``` 4. 使用`StringBuilder`类来构建JSON文件的内容。代码示例如下: ``` StringBuilder jsonContent = new StringBuilder(); String line; while ((line = reader.readLine()) != null) { jsonContent.append(line); } ``` 5. 最后,将读取到的JSON内容转换为标准的JSON对象。你可以使用任何适合的JSON库来完成此操作,例如`JSONObject`类或`Gson`库。 综上所述,以上是读取resourcesJSON文件的步骤。你可以根据你的具体需求进行适当的调整和扩展。<span class="em">1</span> #### 引用[.reference_title] - *1* [java怎么读取resources下面JSON文件](https://blog.csdn.net/laughing1997/article/details/103589602)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值