首页 > 编程语言 > 详细

springboot-项目获取resources下文件

时间:2021-02-08 22:29:46      阅读:32      评论:0      收藏:0      [点我收藏+]

背景:

  项目的resources 目录下放置了一份txt文件,需求是想获取到这份文件转成File对象,调用文件上传的接口进行文件上传操作。

  技术分享图片

 

实现:

  1、使用 ResourceUtils:本地ok,测试环境无效

File file = ResourceUtils.getFile("classpath:whitelist/微乐分新白名单2月推荐-前100.txt");

  注意:ResourceUtils.getFile() 方法可以获取到resources 下的文件,本地没问题 但是发布到 测试环境(linux系统下)没用。

  

  2、ClassPathResource,用于打成jar包后获取文件的方法:本地&测试环境都ok

ClassPathResource classPathResource = new ClassPathResource("whitelist/微乐分新白名单2月推荐-前100.txt");
InputStream inputStream = classPathResource.getInputStream();
File file = asFile(inputStream);//手动转换:InputStream To File

  

  备注:不可以直接通过classPathResource.getFile()得到File,会失败,暂时不清楚为什么,先解决问题,方式为由classPathResource获取到InputStream,然后再将InputStream转成File,转换的方式如下:

   /**
     * InputStream To File
     *
     * @param in InputStream
     *
     * @return File
     *
     * */
    public static File asFile(InputStream in) throws IOException {
        File tempFile = File.createTempFile("whitelist", ".tmp");
        tempFile.deleteOnExit();
        FileOutputStream out = new FileOutputStream(tempFile);
        IOUtils.copy(in, out);
        return tempFile;
    }

 

参考文章:

springboot-项目获取resources下文件的方法
 

??

 

springboot-项目获取resources下文件

原文:https://www.cnblogs.com/bzq-nancy/p/14390129.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!