Java 单个文件的下载/传输

文件传输的本质是将文件转化成字节流,作为附件写入到HttpServletResponse的OutputStream中。以服务器本地的文件传输为例,Java代码如下:

public void download(HttpServletResponse response) {
File file = new File("文件夹" + File.separator + "文件名称");
// 判断文件性质
if (!file.exists() || !file.isFile()) {
return;
}
String fileName;
try {
// 获取编码后的文件名
fileName = URLEncoder.encode(file.getName(), "utf-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
return;
}
// 设置编码

外汇返佣
response.setCharacterEncoding("utf-8");
// 设置媒体类型(此处以Excel文件举例)
response.setContentType("application/vnd.ms-excel;charset=UTF-8");
// 设置Header
response.setHeader("Content-Disposition", "attachment;fileName=" + fileName);
// 创健缓冲字节数组 一般情况下会根据实际要求设置在1kb-8kb,此处为2kb
byte[] buffer = new byte[2 * 1024];
try {
// 通过File 创健 FileInputStream
FileInputStream fis = new FileInputStream(file);
// 通过FileInputStream 创健 BufferedInputStream
BufferedInputStream bis = new BufferedInputStream(fis);
// 获取输出流
OutputStream os = response.getOutputStream();
while (bis.read(buffer) != -1) {
// 写操作
os.write(buffer);
os.flush();
}
// 关闭流
bis.close();
fis.close();
} catch (Exception e) {
e.printStackTrace();
}
}

原文地址:https://www.cnblogs.com/benming/p/12653082.html

时间: 2024-10-12 05:28:33

Java 单个文件的下载/传输的相关文章

Java批量文件打包下载

经常遇到选择多个文件进行批量下载的情况,可以先将选择的所有的文件生成一个zip文件,然后再下载,该zip文件,即可实现批量下载,但是在打包过程中,常常也会出现下载过来的zip文件中里面有乱码的文件名,通过使用ant.jar中的org.apache.tools.zip里的ZipOutPutStream为实现编码的设置. 代码如下: ant包引用 [html] view plain copy print? <span style="font-size:14px">Xml代码 &

JAVA代码实现下载单个文件,和下载打包文件

//下载单个文件调用方法 /**     * response     * imgPath 下载图片地址    * fileName 保存下载文件名称    * @date 2015年4月14日 下午5:53:24     */     public static void download(HttpServletResponse response,String imgPath,String fileName){         OutputStream out=null;         Bu

java web 文件上传下载

文件上传下载案例: 首先是此案例工程的目录结构: 处理上传: FileUploadServlet.java 1 package fnz.fileUploadTest; 2 3 import java.io.File; 4 import java.io.IOException; 5 import java.io.InputStream; 6 import java.io.PrintWriter; 7 import java.text.SimpleDateFormat; 8 import java.

JAVA SFTP文件上传、下载及批量下载

1.jsch官方API查看地址(附件为需要的jar) http://www.jcraft.com/jsch/ 2.jsch简介 JSch(Java Secure Channel)是一个SSH2的纯Java实现.它允许你连接到一个SSH服务器,并且可以使用端口转发,X11转发,文件传输等,当然你也可以集成它的功能到你自己的应用程序. SFTP(Secure File Transfer Protocol)安全文件传送协议.可以为传输文件提供一种安全的加密方法.SFTP 为 SSH的一部份,是一种传输

java生成Ecxel文件及下载(公用)

/** * 上海汽车集团财务有限责任公司 * Copyright (c) 1994-2014 All Rights Reserved. */ package com.saicfc.pmpf.internal.manage.utils; import java.io.File; import java.io.IOException; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.List; i

Java生成Txt文件及下载

package com.saicfc.pmpf.internal.manage.utils; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.List; import com.saicfc.pmpf.common.enums.ChannelCo

Java ftp 上传文件和下载文件

今天同事问我一个ftp 上传文件和下载文件功能应该怎么做,当时有点懵逼,毕竟我也是第一次,然后装了个逼,在网上找了一段代码发给同事,叫他调试一下.结果悲剧了,运行不通过.(装逼失败) 我找的文章链接:http://blog.csdn.net/yucaifu1989/article/details/51483118 为了方便大家对比,我吧文章代码偷了过来: import java.io.File; import java.io.FileInputStream; import java.io.Fil

java的文件上传和下载

在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取上传文件的输入流然后再解析里面的请 求参数是比较麻烦,所以一般选择采用apache的开源工具common-fileupload这个文件上传组件.这个common- fileupload上传组件的jar包可以去apache官网上面下载,也可以在struts的lib文件夹下面找到,st

java文本、表格word转换生成PDF加密文件代码下载

原文:java文本.表格word转换生成PDF加密文件代码下载 代码下载地址:http://www.zuidaima.com/share/1550463239146496.htm 这个实现了PDF加密功能,和一些基本的问题. java文本.表格word转换生成PDF加密文件代码下载,布布扣,bubuko.com