1、下载文件到本地

public void download(HttpServletResponse response){

String filePath ="";//文件路径

String fileName ="";//文件名称

// 读到流中

InputStream inStream = new FileInputStream(filePath);

// 设置输出的格式

response.reset();

response.setContentType("bin");

response.addHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");

IOUtils.copy(inStream, response.getOutputStream());

}

2、java后端下载

方式一:

new URL(fileUrl + item.getcBhFileserver()).openStream()

方法二:

public Boolean addFile(String url, String id, String fileName) {

RequestCallback requestCallBack = new RequestCallback() {

@Override

public void doWithRequest(ClientHttpRequest request) throws IOException {

request.getHeaders().add("accept", MediaType.APPLICATION_OCTET_STREAM_VALUE);

}

};

ResponseExtractor responseExtractor = new ResponseExtractor() {

@Override

public Boolean extractData(ClientHttpResponse response) throws IOException {

if (response.getStatusCode() == HttpStatus.OK) {

//得到文件流

InputStream input = response.getBody();

return true;

}

return false;

}

};

return restTemplate.execute(url, HttpMethod.GET, requestCallBack, responseExtractor, id);

}

3、文件打包成zip

public void zipFilesAll() throws Exception {

String zipPath = "";//zip包路径

String zipFileName = "";//zip包名称

File zipFile = new File(zipFileName .toString());

// 创建 FileOutputStream 对象

FileOutputStream fileOutputStream = null;

// 创建 ZipOutputStream

ZipOutputStream zipOutputStream = null;

try {

//创建文件夹

zipFile = new File(zipPath );

FileUtils.forceMkdir(zipFile);

//创建文件

zipFile = new File(zipFileName .toString());

if (!zipFile.exists()) {

zipFile.createNewFile();

}

// 实例化 FileOutputStream 对象

fileOutputStream = new FileOutputStream(zipFileName.toString());

// 实例化 ZipOutputStream 对象

zipOutputStream = new ZipOutputStream(fileOutputStream);

// 创建 ZipEntry 对象

ZipEntry zipEntry = null;

for (CL cl: ClList) {

// 实例化 ZipEntry 对象,源文件数组中的当前文件

zipEntry = new ZipEntry(tCltjjl.getcClmc() + ".zip");

zipOutputStream.putNextEntry(zipEntry);

IOUtils.copy(new FileInputStream(cl.getcPath(), zipOutputStream);

}

} catch (Exception e) {

}finally{

//记得删除文件

}

}

java 把文件打包成zip_java 文件流的处理 文件打包成zip相关推荐

  1. java基础 day12-FileInputStream类,文件的复制,缓冲流,Propertes文件,xml文件读写,网络socket编程(构建TCP客户端),内部类

    FileInputStream类的其他常用方法() /**在project下新建temp文件,内容为abcdef*FileInputStream类的其他常用方法:* int available():返 ...

  2. java 压缩解压密码zip_Java解压和压缩带密码的zip文件过程详解|chu

    前言 JDK自带的ZIP操作接口(java.util.zip包,请参看文章末尾的博客链接)并不支持密码,甚至也不支持中文文件名. 为了解决ZIP压缩文件的密码问题,在网上搜索良久,终于找到了winzi ...

  3. java中的常用的文件流_Java 基础(四)| IO 流之使用文件流的正确姿势

    image.png 一.什么是 IO 流? 想象一个场景:我们在电脑上编辑文件,可以保存到硬盘上,也可以拷贝到 U 盘中.那这个看似简单的过程,背后其实是数据的传输. 数据的传输,也就是数据的流动.既 ...

  4. Java IO流中 File文件对象与Properties类(四)

    File类 用来将文件或目录封装成对象 方便对文件或目录信息进行处理 File对象可以作为参数传递给流进行操作 File类常用方法 创建 boolean createNewFile():创建新文件,如 ...

  5. java实现把一个大文件切割成N个固定大小的文件

    这个好像是我一年前去面试时的一道面试题,分享一下!考 java I/O 的! //java实现把一个大文件切割成N个固定大小的文件 package com.johnny.test; import ja ...

  6. Java 方法、 流(Stream)、文件(File)和IO 总结

    这里只总结几个要点. 1. 方法的命名规则 1.方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头写,不使用连接符.例如:addPerson. 2.下划线可能出现在 JUnit 测 ...

  7. java io大文件_JavaIO流对大文件进行分割与合并

    对于大文件传输不方便时候可以试一下分割之后再操作: package com.lym; import java.io.BufferedInputStream; import java.io.Buffer ...

  8. java 输入流可以合并吗_Java 使用IO流实现大文件的分割与合并实例详解

    java 使用IO流实现大文件的分割与合并 文件分割应该算一个比较实用的功能,举例子说明吧比如说:你有一个3G的文件要从一台电脑Copy到另一台电脑, 但是你的存储设备(比如SD卡)只有1G ,这个时 ...

  9. 【JAVA SE】第十二章 流(Stream)、IO流和文件(File)

    第十二章 流(Stream).IO和文件(File) 文章目录 第十二章 流(Stream).IO和文件(File) 一.流(Stream) 1.什么是流 2.流的分类 二.IO流 1.字节输入流(I ...

  10. java io 创建文件夹_Java中Io流操作-File类的常用操作-创建文件,创建文件夹

    package com.hxzy.IOSer; import java.io.File; import java.io.IOException; public class Demo03 { publi ...

最新文章

  1. idea创建Struts2 项目并运行
  2. 浏览器如何渲染页面?
  3. 商品详细信息的代码html_Web前端,你该有的代码规范
  4. SignalR 中丰富多彩的消息推送方式
  5. pyqt5 qscrollarea到达_pyqt5 QScrollArea设置在自定义侧(任何位置)
  6. Oracle11g新特性:在线操作功能增强-可等待DDL操作
  7. Redis学习笔记三:Redis的数据类型
  8. 将本地文件push到gitee上面
  9. Microsoft SQL Server 2005安装
  10. 4、wpf 打包为exe或者msi的安装程序
  11. Python基础之文件操作
  12. 吉林省专升本历年真题高频词汇
  13. 加快打造“云上贵州”,靠大数据实现“后发赶超”
  14. 高德地图实现的数据统计切换街景地图
  15. mysql 数据库dbhelp_使用JDBC连接MYSQL数据库的问题
  16. Android App启动流程详解
  17. dxp全称_DXP中常用的元器件中英文名称对照
  18. CST shape tools
  19. 我叫mt4最新服务器,我叫mt4什么时候开新区 开服时间表
  20. ExpandableTextView——一个可折叠的Textview

热门文章

  1. 【英语学习】【English L06】U01 Breakfast L4 Drink Morning Tea
  2. 搭建LNMP基础框架
  3. 移动开发-语音识别-调用讯飞平台提供的API
  4. mysql查询时间出来数字_mysql查询时间出来数字的解决方法
  5. python 循环控制语句结束_Python控制语句.while循环语句
  6. python中urlLib的使用
  7. MySQL学生人数统计小案例
  8. 现代GPU的体系结构
  9. 【shell脚本学习-3】
  10. Android学习笔记(24):进度条组件ProgressBar及其子类