该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

用servlet写了一个流下载,文件能正常下载,下载下来也能用,而且后台不报错,但是当我在下载模块的后台初始位置输入System.out.print("-------");这句话后发现每次下载一个文件的时候(注意是一次下载一个文件)这句话总是会打印好几遍,这是什么原因?Servlet中的源代码如下:public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

String path=request.getRealPath("/upload")+"\\"+request.getParameter("fileName"); //获取上传文件的路径

path=new String(path.getBytes("iso-8859-1"));

File file = new File(path); //根据该路径创建文件对象

InputStream in = new FileInputStream(file); //创建文件字节输入流

OutputStream os = response.getOutputStream(); //创建输出流对象

response.addHeader("Content-Disposition", "attachment;filename="

+ new String(file.getName().getBytes("gbk"),"iso-8859-1")); //设置应答头信息

response.addHeader("Content-Length", file.length() + "");

response.setCharacterEncoding("gbk");

response.setContentType("application/octet-stream");

int data = 0;

while ((data = in.read()) != -1) { //循环读取文件

os.write(data); //向指定目录中写文件

}

os.close(); //关闭流

in.close();

}

java 流 下载文件_java 流实现文件下载问题相关推荐

  1. java线程下载文件_Java多线程下载文件实例详解

    本文实例为大家分享了Java多线程下载文件的具体代码,供大家参考,具体内容如下 import java.io.File; import java.io.InputStream; import java ...

  2. java struts2下载文件_java struts2入门学习---文件下载的二种方式

    一.关于文件下载: 文件下载的核心思想即是将文件从一个地方拷贝到另一个地方. 1.传统方式: 在Action中加入大量servlet api 操作.优点是好理解,缺点是耦合度高. 2.stream方式 ...

  3. java file 下载文件_java下载文件的几种方式

    public HttpServletResponse download(String path, HttpServletResponse response) { try { // path是指欲下载的 ...

  4. java http 下载文件_JAVA通过HttpURLConnection 上传和下载文件的方法

    本文介绍了JAVA通过HttpURLConnection 上传和下载文件的方法,分享给大家,具体如下: HttpURLConnection文件上传 HttpURLConnection采用模拟浏览器上传 ...

  5. java 自动下载文件_java+selenium+new——无人化自动下载文件——基于firefox浏览器...

    FirefoxProfile fp = new FirefoxProfile(); fp.setPreference("browser.download.manager.showWhenSt ...

  6. java 打包下载文件_java下载打包下载文件

    一:对于文件的一些操作 1.创建文件夹 private String CreateFile(String dir) { File file = new File(dir); if (!file.exi ...

  7. java流与文件——对象流和序列化

    [0]README 0.1) 本文描述转自 core java volume 2, 旨在理解 java流与文件--对象流和序列化 的相关知识: 0.2) for source code , pleas ...

  8. Java多线程下载文件

    Java多线程下载文件 优化:合理利用服务器资源,将资源利用最大化,加快下载速度 一般有两种方式: 线程池里面有N个线程,多线程下载单个文件,将网络路径的文件流切割成多快,每个线程下载一小部分,然后写 ...

  9. java struts2下载文件_Struts2下多文件的上传与下载

    Struts2下多文件的上传与下载 目录 多文件 上传 下载 随意文件java Struts2单例 配置 动态读取 李顺利 在网络上,对于Java处理文件上传和下载的技术比较多,而Struts作为一款 ...

最新文章

  1. html边框绕着图片,CSS 边框
  2. 面向dba的linux shell 脚本简介,面向dba的linuxshell脚本简介.doc
  3. Acticity 启动 AMS
  4. linux openssl 证书,Linux上的openSSL证书验证
  5. 从零实现Vue的组件库(零)- 基本结构以及构建工具
  6. Javascript:一个屌丝的逆袭之路
  7. 程序员之路(一年有感)
  8. DockOne微信分享(七十七):用Harbor实现容器镜像仓库的管理和运维
  9. R_ggplot2基础(四)
  10. 实习踩坑之路:Date、LocalDate和LocalDateTime的区别
  11. MyEclipse 使用文档
  12. linux yum换源(国内阿里源)
  13. 幼儿园数学目标_幼儿园数学活动目标的制定
  14. 解决QQ邮箱接收不到Stream邮件问题
  15. 转载防丢-caffe训练集搭建
  16. VFS(virtual File System) 虚拟文件系统
  17. c语言扫雷游戏计时功能_C语言实现扫雷游戏(可以自动展开)
  18. 2022年在家安装一个监控摄像头需要多少成本
  19. 钱多多软件制作第五天
  20. oracle ocm认证概述

热门文章

  1. 信号与系统-2021年春季学期-考试信息
  2. 全国大学生智能汽车竞赛英飞凌AURIXTM培训--应用篇 : 3月30日直播
  3. BH38-Z06单精度绝对值旋转编码器数据手册
  4. 多种方式测量AMP328频率响应
  5. 如何让Window对话窗口重新获得输入焦点
  6. cropper.js 图像旋转问题_JavaScript开源良心插件,纯前端网页图片剪裁插件——cropperjs...
  7. mysql 物理备份工具_mysql物理备份工具Xtrabackup安装配置
  8. 智能调温需要哪些计算机知识,一种智能调温的计算机用鼠标的制作方法
  9. delphi listview动态添加图片_网站图片如何优化适合收录
  10. c语言的编译过程,程序编译过程