码迷,mamicode.com
首页 > 编程语言 > 详细

Spring 读取资源

时间:2017-09-11 12:24:08      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:name   nbsp   txt   文件路径   for   接口   绝对路径   方式   文件名   

  1. Spring 读取资源
    1. 主要介绍3种方式(当然不止三种,但是这三种基本能应付大多需求)
      FileSystemResource:以文件的绝对路径方式进行访问
      ClassPathResourcee:以类路径的方式访问
      ServletContextResource:web应用根目录的方式访问
    2. 主要公用方法介绍(Resource接口下的)
      getFilename() : 获得文件名称
      contentLength() : 获得文件大小
      createRelative(path) : 在资源的相对地址上创建新文件
      exists() : 是否存在
      getFile() : 获得Java提供的File 对象
      getInputStream() :  获得文件的流
    3. 与常规的对应方法
      FileSystemResource 效果类似于Java中的File
      ClassPathResource 效果类似于this.getClass().getResource("/").getPath();
      ServletContextResource 效果类似于request.getServletContext().getRealPath("");

 

场景:

读取Resource下export文件夹中的xml配置文件

1.ClassPathResource

    Resource resource = new ClassPathResource("export/config.xml");
    File file = resource.getFile();

System.out.println("对应的以往的实现方式:"+this.getClass().getResource("/").getPath());

2.FileSystemResource

     FileSystemResource res1=new FileSystemResource("D:/abc.txt");  
     File f = res1.getFile();  //转换成Java的File对象  

 

 

ClassPathResource类的注释:

 * Supports resolution as {@code java.io.File} if the class path
 * resource resides in the file system, but not for resources in a JAR.
 * Always supports resolution as URL.

 

Spring 读取资源文件后如果使用getFile()方法获取的话要保证资源文件是在文件系统中(能正确读取出文件路径)

如果运行的Jar包读出的路径是:app.jar!/BOOT-INF!/classes/.....这个样子

 

Spring 读取资源

标签:name   nbsp   txt   文件路径   for   接口   绝对路径   方式   文件名   

原文地址:http://www.cnblogs.com/longling2344/p/7504196.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!