`
kanpiaoxue
  • 浏览: 1781339 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

spring读取classpath下文件

 
阅读更多

 

开发过程中,必不可少的需要读取文件,对于打包方式的不同,还会存在一些坑,比如以jar包方式部署时,文件都存在于jar包中,某些读取方式在开发工程中都可行,但是打包后,由于文件被保存在jar中,会导致读取失败。

  这时就需要通过类加载器读取文件,类加载器可以读取jar包中的class类当然也可以读取jar包中的文件。

// 方法1:获取文件或流

this.getClass().getResource("/")+fileName;

this.getClass().getResourceAsStream(failName);

// 方法2:获取文件

File file = org.springframework.util.ResourceUtils.getFile("classpath:test.txt");

// 方法3:获取文件或流

ClassPathResource classPathResource = new ClassPathResource("test.txt");

classPathResource .getFile();

classPathResource .getInputStream();



// >>>>>>>>>>>>>>>> 下面方法可以读取jar包下文件

假设resources目录下有一个test.txt文件,首先获得当前的类加载器,通过类加载器读取文件。



// 方法1

InputStream io = Thread.currentThread().getContextClassLoader().getResourceAsStream("test.txt");

// 方法2

InputStream io = getClass().getClassLoader().getResourceAsStream("test.txt");

 

 

注意:Spring工具类会对classpath路径做处理,类加载器不会对classpath做处理,因此使用类加载器读取文件,路径中不要添加classpath

 

原文链接:https://blog.csdn.net/weixin_38229356/article/details/80783142

 

 

分享到:
评论

相关推荐

    浅析Spring配置中的classpath:与classpath*:的区别

    Spring 配置中的classpath:与classpath*:的区别 Spring 配置中的classpath:与classpath*:的区别是 Spring 框架中一个常见的问题。本文主要介绍了这两种路径的区别、使用场景及注意事项,以帮助读者更好地理解和使用...

    Spring中使用classpath加载配置文件浅析

    - 如果同时存在目录和jar包,且没有使用classpath*前缀,Spring默认只会加载目录下的配置文件。 2. **使用通配符**:当路径中包含通配符(如`**/*`)时,Spring将尝试加载所有匹配的配置文件。例如: - 如果配置...

    spring读取jar中的配置文件

    为了使Spring Boot能够找到JAR内的配置文件,可以在`src/main/resources`目录下创建`META-INF/spring.factories`文件,并添加以下内容: ``` org.springframework.boot.autoconfigure.EnableAutoConfiguration=...

    spring读取配置文件

    本篇文章将深入探讨如何在Spring中读取不同目录下的配置文件,以及使用`ClassPathXmlApplicationContext`和`FileSystemXmlApplicationContext`这两种不同的上下文环境来加载它们。 首先,让我们了解`...

    Spring Boot多模块配置文件读取

    - 使用`spring.config.location`属性可以指定额外的配置文件位置,例如:`--spring.config.location=classpath:/module1.properties,classpath:/module2.properties`。 3. **命名规则与优先级** - Spring Boot...

    spring mvc 读取配置文件

    这篇博客“spring mvc 读取配置文件”将深入探讨如何在Spring MVC中读取和使用配置文件,以及相关工具的应用。 首先,Spring MVC中的配置文件通常是指XML配置文件,如`applicationContext.xml`或`servlet-context....

    Spring Boot项目打成jar包后,下载resources目录下文件为空的demo

    Spring Boot默认会将`src/main/resources`目录下的内容打包进jar文件,包括静态资源(static)、模板文件(templates)和配置文件。静态资源和模板文件会被放置在一个特殊的结构中,以便于在运行时能够正确地被应用...

    如何加载jar包中的spring配置文件

    在标准的项目结构中,配置文件通常位于项目的`src/main/resources`目录下,这样Spring可以在类路径(ClassPath)上找到它们。然而,当配置文件位于jar包内部时,我们需要调整加载方式。 **步骤1:配置文件的组织** ...

    Spring动态加载配置文件

    如果属性文件位于类路径下,可以直接写类路径路径,如`@PropertySource("classpath:config.properties")`。对于动态加载,我们可以利用`Resource`接口和`ClassPathResource`类来加载运行时变更的属性文件。 除了这...

    Spring3.0 配置文件中加载Properties文件的小例子

    本篇将详细讲解如何在Spring 3.0的配置文件中加载Properties文件,以便在运行时动态获取和使用这些配置。 首先,我们需要一个Properties文件,例如`application.properties`,它通常放在项目的类路径根目录下。这个...

    spring-demo09-读取properties配置文件内容.zip

    在`spring-demo09-读取properties配置文件内容`这个示例中,我们可能有一个名为`application.properties`或`config.properties`的文件,存放在项目的`src/main/resources`目录下。这个文件通常包含以下格式的键值对...

    Spring 读取properties文件key+value方式.rar

    Spring框架提供了强大的属性配置管理,能够帮助开发者轻松地读取和使用properties文件中的key-value对。本教程将深入探讨如何在Spring中以不同的方式读取properties文件,以便更好地理解和应用这些配置。 首先,...

    Springboot访问Resource下的文件.pdf

    本文将深入探讨如何在Spring Boot中访问并读取`Resource`目录下的文件,特别是PDF文件。 1. **静态资源的默认配置** Spring Boot默认提供了对静态资源(如CSS、JavaScript、图片等)的处理。它会自动配置`...

    Spring 加载多个配置文件

    这里,多个配置文件路径以逗号分隔,`ContextLoaderListener` 将在应用启动时读取并合并这些配置文件。 ##### 3.3 XML 配置文件中导入其他配置文件 除了直接通过 ApplicationContext 或者 ContextLoaderListener ...

    SpringBoot-2.7.6读取配置文件的方式

    本篇文章将详细介绍Spring Boot如何读取配置文件,以及提供一些调试示例代码,帮助你更好地理解和运用。 ### 1. 配置文件位置与优先级 Spring Boot支持多种类型的配置文件,包括`application.properties`和`...

    用enum实现单例模式的方法来读取配置文件

    这个文件通常位于项目的类路径(classpath)下。`Properties`类用于处理键值对,它是Java中读取配置文件的标准方式。 要获取配置文件中的数据,我们可以调用`Singleton.INSTANCE.getProperties()`。例如,如果配置...

    spring,配置文件从属性文件读取JDBC连接的相关参数

    以下是如何在Spring中从这个文件中读取这些参数的步骤: 1. **创建属性文件**: 首先,我们需要创建一个名为`jdbc.properties`的文件,通常放在项目的`src/main/resources`目录下,以便在运行时被自动加载。该文件...

    spring无法读取properties文件数据问题详解

    在 Spring 框架中,Controller 中注入的 @Value 配置是从 servlet-context.xml 配置文件中获取的。如果要在 Controller 中注入属性配置,需要在相应的 servlet 文件中添加配置,例如: ```xml <bean class="org....

    spring 配置文件 归类

    在Spring框架中,配置文件是核心组成部分,它们用于定义bean的定义、依赖关系以及各种配置信息。本篇文章将深入探讨Spring配置文件中的归类,主要包括IOC(Inversion of Control,控制反转)和AOP(Aspect-Oriented ...

Global site tag (gtag.js) - Google Analytics