博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springboot读取本地项目文件
阅读量:5227 次
发布时间:2019-06-14

本文共 1122 字,大约阅读时间需要 3 分钟。

在读取springBoot+gradle构建的项目时,如果使用传统的FileInputStream读取文件流或者ResourceUtils工具类的方式

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

在springboot中可以使用ClassPathResource获取文件流的方式方便下载文件

try {
ClassPathResource classPathResource = new ClassPathResource("sql/SCHEDULE_TASK.sql");     File file = classPathResource.getFile();     InputStream inputStream = classPathResource.getInputStream();       //输出文件     InputStream fis = new BufferedInputStream(inputStream);     byte[] buffer = new byte[fis.available()];     fis.read(buffer);     fis.close();     response.reset();     //获取文件的名字再浏览器下载页面     String name = file.getName();     response.addHeader("Content-Disposition", "attachment;filename=" + new String(name.getBytes(), "iso-8859-1"));     response.addHeader("Content-Length", "" + file.length());     OutputStream out = new BufferedOutputStream(response.getOutputStream());     response.setContentType("application/octet-stream");     out.write(buffer);     out.flush();     out.close(); } catch (Exception e) {
e.printStackTrace(); } 最后就是浏览器访问接口下载文件了

 

这样下载文件就很简单了

 

 

 

转载于:https://www.cnblogs.com/lxp-java/p/11103803.html

你可能感兴趣的文章
JSTL标签与EL表达式之间的微妙关系
查看>>
【hdu6051】If the starlight never fade
查看>>
Android开源项目发现---Spinner选择器与日历选择器篇(持续更新)
查看>>
RxJava开发精要8 – 与REST无缝结合-RxJava和Retrofit
查看>>
Java常用数学类和BigDecimal
查看>>
Spring -13 -Spring 中常用注解总结
查看>>
CentOS yum update 与 yum upgrade 区别
查看>>
[51单片机] HC-SR04超声波测距仪 基础代码
查看>>
1091 N-自守数
查看>>
写给程序员的 10不该
查看>>
兼容所有浏览器的实时监听输入的解决方案(转)
查看>>
OOP、AOP 、IoC和DI、ORM 概念
查看>>
Android:让Link始终保持在程序的WebView中跳转
查看>>
音视频采集
查看>>
java实现简单的单点登录
查看>>
[OpenGL学习] 缓冲区
查看>>
LeetCode 172. 阶乘后的零(Factorial Trailing Zeroes)
查看>>
Android架构初探
查看>>
【一头扎进JMS】(2)----ActiviteMQ点对点消息实现
查看>>
没有预热,这不叫高并发,叫并发高
查看>>