java 代码里读取jar包下resources目录下的文件

createh51周前 (12-30)技术教程10

简述

java项目里,我们时常需要读取一些自定义的文件,我们一般也会把这些文件放在resources目录下,但有时候,我们在idea开发时明明是可以读取到文件的,一打包放到Linux或者Tomcat上运行就会报错,说找不到指定的文件。下面我们就来实践一下常用的几个读取文件的方式。

(阅读本文大概耗时1分钟)

实践

先列举将要实践的几个方式:

  1. java.io.File
  2. java.lang.ClassLoader#getSystemResourceAsStream
  3. class.getClassLoader().getResourceAsStream
  4. org.springframework.core.io.FileSystemResource
  5. org.springframework.core.io.FileSystemResourceLoader

先实践这几种,有jdk有spring的,下面看图说话:

1、java.io.File

idea下都读取不到,我们就不试jar包了。(下同)

2、java.lang.ClassLoader#getSystemResourceAsStream

3、class.getClassLoader().getResourceAsStream

4、org.springframework.core.io.FileSystemResource

5、org.springframework.core.io.FileSystemResourceLoader

综上,第3,第5种方式都行;为操作方便,我建议统一使用第3种方式:

当前类名.class.getClassLoader().getResourceAsStream("text.txt")

OK,各位道友若还能想出其他方式,敬请留言。

相关文章

Java 中获取文件路径的方式,你知道几种?

1. 前言Java 开发中我们经常要获取文件的路径,比如读取配置文件等等。今天我们就关于文件的路径和如何读取文件简单地探讨一下。2. 文件的路径文件的路径通常有 相对路径 与 绝对路径。2.1 相对路...

java获取文件路径(java如何获取文件路径)

1. 前言Java 开发中我们经常要获取文件的路径,比如读取配置文件等等。今天我们就关于文件的路径和如何读取文件简单地探讨一下。2. 文件的路径文件的路径通常有 相对路径 与 绝对路径。2.1 相对路...

java获取文件路径最好的方式(java 获取文件地址)

在开发中,我们经常要去获取文件的路径,那么什么样的方式才是最好的呢? 那就是移植性,不能换了一个软件,或者换了一个系统就需要修改获取文件路径的源码,所以今天我们就来看下这种获取文件路径的方式:注意:这...

纯小白干货:Java import以及Java类的搜索路径

如果你希望使用Java包中的类,就必须先使用import语句导入。import语句与C语言中的 #include 有些类似,语法为: import package1[.package2…].class...

Java路径-31-Java数据结构(java数据结构详解)

1 枚举(Enumeration)1.1 Enumeration源码:public interface Enumeration<E> { boolean hasMoreEleme...

几种获取resources目录下的文件方式

前言一般我们的配置信息默认都是会配置在/src/main/resources/application.properties(或者application.yml)文件中,当然,也可以在resources...