您的位置:首页 > 其它

文件下载实现方法

2017-05-27 13:53 162 查看
文件下载实现方法

实现代码:

public void downLoadFile(){
// 得到要下载文件的文件读取流
InputStream is = null;
// 定义文件输入流,用于下载文件
OutputStream os = null;
try {
// 设置字符编码格式
request.setCharacterEncoding("utf-8");
// 下载路径
String path = "D:\\test\\test.doc";//文件存放路径
// 实例化出要下载文件
File file = new File(path);

is = new FileInputStream(file);
os = response.getOutputStream();
// 设置响应体属性
String userAgent = request.getHeader("User-Agent");

if (userAgent.indexOf("MSIE") >= 1)
response.setHeader("Content-Disposition", "attachment;filename=\""
+ java.net.URLEncoder.encode(file.getName(), "UTF-8") + "\"");
else
response.addHeader("Content-Disposition", "attachment;filename="
+ new String(file.getName().getBytes("utf-8"), "iso-8859-1"));

// 文件头属性设置
response.addHeader("Content-length", file.length() + "");
// 响应体内容设置
response.setContentType("application/octet-stream");
// 下载文件大小记数器
int count = 0;
// 实例化一个byte数组用于写入一次写入文件的大小
byte[] buffer = new byte[1024 * 1024];
// 如果读取文件成功
while ((count = is.read(buffer)) != -1) {
// 下载文件
os.write(buffer, 0, count);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (is != null) {
is.close();
}
if (os != null) {
os.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}文件下载功能,接触了就会明白!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息