SpringBoot打开resources目录下的文件操作

背景

我想在SpringBoot项目中放入一个静态文件.json文件。然后在SpringBoot项目内可以打开并读取此json文件。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fPPv8GCL-1634463168455)(C:\Users\dancerHoan\AppData\Roaming\Typora\typora-user-images\image-20211017172913980.png)]

Step One配置pom文件

在pom文件中 贴上如下:

意:让 maven 编译时把 .json文件放到 target 文件夹下的 classes 文件夹中

<build><resources><resource><directory>src/main/recourse</directory><includes><include>**/*.json</include></includes><filtering>true</filtering></resource></resources>
</build>

注:若你创建了SpringBoot项目,pom文件中会有<build>标签,只需要将<resource>贴入<build>标签。

Step Two 通过**ClassPathResource**类 读文件

String s;
InputStream inputStream = null;
ClassPathResource classPathResource = new ClassPathResource("static/myJson.json");
try {inputStream = classPathResource.getInputStream();String s1 = readStream(inputStream);// readStream方法 在下方System.out.println(s1);
} catch (IOException e) {e.printStackTrace();
}

Step Three 读取inputStream流 到String

输入InputStream类型 返回String类型

public static String readStream(InputStream in) {try {//<1>创建字节数组输出流,用来输出读取到的内容ByteArrayOutputStream baos = new ByteArrayOutputStream();//<2>创建缓存大小byte[] buffer = new byte[1024]; // 1KB//每次读取到内容的长度int len = -1;//<3>开始读取输入流中的内容while ((len = in.read(buffer)) != -1) { //当等于-1说明没有数据可以读取了baos.write(buffer, 0, len);   //把读取到的内容写到输出流中}
//<4> 把字节数组转换为字符串String content = baos.toString();//<5>关闭输入流和输出流in.close();baos.close();//<6>返回字符串结果return content;} catch (Exception e) {e.printStackTrace();return e.getMessage();}}

参考博客:

[解决 java.io.FileNotFoundException: class path resource applicationContext.xml] cannot be opened because it does not exist - 南极石 - 博客园 (cnblogs.com)

极石 - 博客园 (cnblogs.com)](https://www.cnblogs.com/ditf/p/11529719.html)

SpringBoot打开resources目录下的文件操作相关推荐

  1. SpringBoot模块中,resources目录下各文件夹作用

    文章目录 前言 1.public目录: 2.resources目录: 3.static目录: 4.templates目录: 5.src/main/resources目录(根目录): 6.META/IN ...

  2. 如何读取resources目录下的文件路径(九种方式)

    前情提要 本文中提供了九种方式获取resources目录下文件的方式.其中打印文件的方法如下: /*** 根据文件路径读取文件内容** @param fileInPath* @throws IOExc ...

  3. classpath和读取resources目录下的文件

    最近在springboot+maven的项目中去读取资源文件的时候,报了找不到文件的错误.由此展开了对maven项目编译前和编译后的目录结构的了解,以及对java的classpath的理解. 首先,由 ...

  4. java resources 目录_[Java] 在 jar 文件中读取 resources 目录下的文件

    注意两点: 1. 将资源目录添加到 build path,确保该目录下的文件被拷贝到 jar 文件中. 2. jar 内部的东西,可以当作 stream 来读取,但不应该当作 file 来读取. 例子 ...

  5. javaweb(实用)-IDEA下resources目录下txt文件读取写入引发的项目后台路径问题总结

    首先idea下 真实路径与项目原本路径对比: (文件操作之后idea内打开项目内的文件并没有任何变化,项目真实路径或者说编译后情况下的文件发生了变化) 项目中resources文件file.txt原本 ...

  6. Spring项目的resources目录下的文件读取

    src/main/resources和src/test/resources下的资源读取方式 1. 一般maven会将spring工程编译到target文件夹下,/target/classes就是其根目 ...

  7. 九种方式,教你获取 resources 目录下的文件

    方式一 主要核心方法是使用getResource和getPath方法,这里的getResource("")里面是空字符串 public void function1(String  ...

  8. maven学习系列8----将resources目录下的文件打包到jar包外

    maven默认情况下会把src/main/resources下的文件和class文件一起打到jar包内部,但是有很多场景下都需要把resources下的文件打包到jar包外面,这样修改resource ...

  9. VS工程目录下各文件的含义以及如何打开源文件进行编译

    一.创建工程产生的各个文件都你知道是什么用的吗? 解决方案与工程 在这之前先了解一个概念:解决方案与工程. **解决方案(Solution):**一个大型项目的整体的工作环境: **工程 (Proje ...

最新文章

  1. 回顾 | 2018年十大AI新闻 中国继续占据主导优势
  2. JDK自带监控工具 jps、jinfo、jstat、jmap、jconsole
  3. 基本配置1-被忽悠进了CentOS 6
  4. 21 张让你代码能力突飞猛进的速查表(神经网络、线性代数、可视化等)
  5. 小米平板5系列获EEC认证:骁龙870加持 预装深度定制MIUI系统
  6. Visual Studio调试之避免单步跟踪调试模式
  7. imx6ull uboot移植
  8. 微信小程序之简易音乐播放器的实现
  9. 一篇网络流的好blog
  10. Largest Rectangle in a Histogram[]
  11. ACL技术,NAT技术,园区网组网
  12. 马甲线怎么画?如何画出好看的腹肌?
  13. Firefox浏览器版本66的下载链接
  14. Python列表、元组、字典相关练习题记录——第三天
  15. 个人建设网站流程解说,手把手教你如何在阿里云上搭建自己的网站
  16. IntellJ IDEA 基础之 常用快捷键的简单整理
  17. 提升精度 | 新的小样本学习算法提升物体识别精度(附论文地址)
  18. 电梯模拟 数据结构课设
  19. 固定docker容器IP方法
  20. 百度推广客户端下载地址

热门文章

  1. oppo怎么修改dns服务器地址,OPPO手机的WIFI设置里的DNS在哪
  2. Ubuntu18.04笔记本插入耳机没有声音 解决方案
  3. 清华毕业程序员国企干了14年,去应聘小公司,看到工资后愣了
  4. oracle11g在linux7的静默安装脚本
  5. 计算机一直重启无法进入系统怎么办,电脑无限蓝屏重启 电脑一直不断的重启怎么办...
  6. 前端页面开发浅谈:PC 端设计如何“完美”迁移到移动端?
  7. 关于部分手机默认获取权限问题
  8. 计算理论基础-1-FA有穷自动机与Pumping_Lemma泵定理
  9. 华为认证级别有哪些级别分类?考HCIP还是考HCIA?
  10. 作用python需要语言编写小游戏_作的解释|作的意思|汉典“作”字的基本解释