背景:

  项目的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下文件的更多相关文章

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

    spring项目获取resources下文件的方法   最近写读取模板文件做一些后续的处理,将文件放在了项目的resources 下,发现了一个好用的读取方法:   比如上边是你需要读取的文件:  读 ...

  2. Maven项目读取resources下文件的路径问题(getClassLoader的作用)

    读取resources下文件的方法 网上有问答如下:问: new FileInputStream("src/main/resources/all.properties") new ...

  3. springboot-项目获取resources下文件碰到的问题(classPath下找不到文件和文件名乱码)

    项目是spring-boot + spring-cloud 并使用maven 管理依赖.在springboot+maven项目下怎么读取resources下的文件实现文件下载? 怎么获取resourc ...

  4. springboot项目获取resource下的文件

    package com.expr.exceldemo; import org.springframework.core.io.ClassPathResource; public class Test ...

  5. java(包括springboot)读取resources下文件方式

    1.使用项目内路径读取,该路径只在开发工具中显示,类似:src/main/resources/resource.properties.只能在开发工具中使用,部署之后无法读取.(不通用) File fi ...

  6. Maven项目读取resources下文件的路径

    要取编译后的路径,而不是你看到的src/main/resources的路径.如下: URL url = 类名.class.getClassLoader().getResource("conf ...

  7. springboot打成jar后获取classpath下文件失败

    原文链接:https://blog.csdn.net/qq_18748427/article/details/78606432 springboot打成jar后获取classpath下文件失败 使用如 ...

  8. Spring Boot 获取 java resources 下文件

    Spring Boot 获取 java resources 下文件 Spring Boot 获取 resources 目录下的目录(例:获取 resources 目录下的 template 目录): ...

  9. java 获取classpath下文件多种方式

    java 获取classpath下文件多种方式 一:properties下配置 在resources下定义server.properties register.jks.path=classpath\: ...

  10. spring java 获取webapp下文件路径

    spring java 获取webapp下文件路径 @RequestMapping("/act/worldcup_schedule_time/imgdownload") @Resp ...

随机推荐

  1. java自定义的异常类

    java自定义的异常类 1.自定义异常类,需要继承 RuntimeException @Datapublic class EmployeeCheckException extends RuntimeE ...

  2. Java本地缓存解决方案---使用Google的CacheBuilder

    一.背景 当业务实现上需要用到本地缓存,来解决一些数据量相对较小但是频繁访问数据的场景,可以采用Google的CacheBuilder解决方案. 二.代码实现 1. 首先在maven中引入下面的包 & ...

  3. Java数组之三种初始化及内存分析

    内存分析 Java内存 堆: 1.存放new的对象和数组 2.可以被所有的线程共享,不会存放别的对象引用 栈: 1.存放基本变量类型(会包含这个基本类型的具体数值) 2.引用对象的变量(会存放这个引用 ...

  4. JQuery 页面滚动至指定元素位置

    $(window).scrollTop($("#id").offset().top - 20);

  5. python 处理CAD文件

    注意:如下的两个脚本都是我自己亲自试过的,可以运行得到结果!可以直接运行!可以直接运行! 网上的中文api能找到的不够全,工作中有用到部分功能,自己从中文英文资料里面找到一些,这里做一些总结. 画图a ...

  6. 根本不常用知识之Generator

    首先babel链接很重要 https://www.babeljs.cn/repl#?browsers=&build=&builtIns=false&corejs=3.6& ...

  7. java stream map和 flatmap区别

    区别:map mapper返回R,flatMap mapper返回Stream<R> 官网解释 1,<R>Stream<R> flatMap(Function< ...

  8. C# 内存回收

    开发完成之后发现自己写的程序内存占用太高,找到如下解决方案 使用了一个timer每2s调用一次ClearMemory() #region 内存回收 [DllImport("kernel32. ...

  9. 逆向学习物联网-网关ESP8266-03软件编程实现

    1.技术原理及流程 1) MQTT数据通讯原理  2).网关协议运行状态机  3). 主程序流程 2.关键程序代码实现 MDK集成开发环境的搭建,大家可以百度搜索,或者参考感知层的软件设计部分. 1) ...

  10. docker 中搭建 mysql pxc 集群

      一.docker中创建pxc 容器 1.拉取PXC 镜像 pull docker pull percona/percona-xtradb-cluster:5.7.21 2.更改镜像名称为pxc t ...