前言: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读取json配置文件_解决:java 读取 resources 下面的 json 文件相关推荐

  1. java错误无法读取配置文件_解决Java Web项目无法读取配置文件问题

    错误描述 报错信息如下图所示,Web应用后台在读取配置文件的时候,系统找不到指定的路径. 这是Java Web项目的目录结构: 这是报错部分的代码: static { try { Properties ...

  2. java 插入 mysql 乱码_解决java中插入mysql中文乱码的方法

    解决java中插入mysql中文乱码的方法 发布时间:2020-07-11 14:35:11 来源:亿速云 阅读:100 作者:清晨 这篇文章主要介绍解决java中插入mysql中文乱码的方法,文中介 ...

  3. java jdk 未知错误_解决JAVA JDK安装出错的最常见问题,帮你排除困扰

    一般来说,安装JAVA JDK的整个流程是很简单的,只要按照提示进行操作即可,就不会出现问题.但是呢,有小伙伴反映说,之前安装了JAVA JDK,进行卸载重装的时候出现错误提示,"正在进行另 ...

  4. java 中文问号问题_解决java中的中文乱码问题(ZT)

    一般在传送时使用的encoding:使用GET 的方式: String test = new String((request.getParameter("test")).getBy ...

  5. java项目----教务管理系统_基于Java的教务管理系统

    java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...

  6. java自定义配置文件_基于java读取并引用自定义配置文件

    基于java读取并引用自定义配置文件 首先在resources目录创建自定义的配置文件 配置文件的格式: 写工具类,得到配置参数 import java.io.IOException; import ...

  7. java如何使用配置文件_如何使用java.util.Properties读取配置文件?

    当我们有一个使用文本文件存储配置的应用程序且该配置通常为key=value格式时,我们可以java.util.Properties用来读取该配置文件. 这是一个名为的配置文件示例app.config: ...

  8. linux java串口读写权限_解决linux下java读取串口之权限问题 No permission to create lock file. | 学步园...

    在终端或IDE中运行java读取串口程序时,总是报告如下信息: [lhwtouch@localhost root]$ java Main Experimental: JNI_OnLoad called ...

  9. c读取ini配置文件_细数Java项目中用过的配置文件(ini 篇)

    Java 菜鸟,会把可变的配置信息写死在代码里:Java 老鸟,会把可变的配置信息提取到配置文件中.坊间流传这么一句非科学的衡量标准,来评判程序员的级别. 那么,项目中的配置信息,你平时都是怎样来实现 ...

最新文章

  1. oralce rollup 小计合计_总计与小计–WITH ROLLUP
  2. java 校验姓名只能包含中英文_java代码验证用户名,支持中英文(包括全角字符)、数字、下划线和减号 (全角及汉字算两位),长度为4-20位,中文按二位计数...
  3. golang 多行字符串 字符串太长分行写
  4. 页面重新跳转到父类url
  5. centos c++ 找不到头文件mysql.h
  6. Cocos2d-游戏适应不同分辨率;
  7. 如何利用OpenCV自带的级联分类器训练程序训练分类器
  8. iOS使用Charts框架绘制—柱形图
  9. ant design表格添加loading效果
  10. 空间滤波_第三章 灰度变换与空间滤波-(六)锐化空间滤波器之拉普拉斯算子...
  11. Android 系统(240)---底层如何简易的获取一个从AP传下来的parameter(flag)
  12. 不是bug!百度集好运卡奖品追加8000个金猪
  13. java将图片(jpg/bmp/png)转16位bmp(RBG565)
  14. logback日志框架的简单使用
  15. bzoj 3824: [Usaco2014 Dec]Guard Mark【状压dp】
  16. 虚拟机开机时出现Press ESC in 5 seconds to skip startup.nsh, any other key to continue问题的解决办法
  17. UBUNTU使用GITHUB
  18. php1008打印机驱动器,hp laserjet p1008打印机驱动
  19. 从苏宁电器到卡巴斯基第34篇:番外篇——晒一晒病毒分析师的桌面(上)
  20. 【课程设计】企业职工工资管理系统 C语言版

热门文章

  1. pwn学习总结(三) —— 栈溢出经典题型整理
  2. UILabel 高度的自适应与获取
  3. 1113 Integer Set Partition (25 分)【难度: 一般 / 知识点: 思维 贪心】
  4. SpringMVC环境配置全过程IntelliJ IDEA 2020.3.1
  5. Oracle 的基本特点,并完整描述安装过程
  6. Android的单位px,pt,dp,sp总结和获取屏幕分辨率
  7. 表单开发(二):获取单选按钮,多行文本框,下拉菜单,捆绑元素数据,用户注册
  8. javascript:void(0);用法及常见问题解析
  9. Oracle日期转换处理
  10. 【JavaSE_07】Java中类和对象-封装特性-思维导图