文件下载实现方法
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();
}
}
}文件下载功能,接触了就会明白!
实现代码:
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();
}
}
}文件下载功能,接触了就会明白!
相关文章推荐
- b/s模式中的下载文件的实现方法
- 通过CMWAP下载大文件一种实现方法
- ASP.NET 实现文件下载的几种方法
- jsp下载文件的实现方法及注意事项
- asp.net中下载文件的实现方法
- Asp实现隐藏文件下载地址方法
- C#下载文件并显示显示进度的方法实现
- ASP.NET 实现文件下载的几种方法
- php做下载文件的实现代码及文件名中乱码解决方法
- 用Delphi实现文件下载的几种方法
- 实现各种文件的下载方法:用于 WEB上的报表导出(jxl 实现Excel报表下载),核心思想就是将文件的输出流传给HttpResponseOutputStream 里就成了。
- 经过证实的下载文件java实现方法
- jsp实现文件下载的方法
- ASP.NET上传下载文件,使用TransmitFile方法实现下载。
- 用Delphi实现文件下载的几种方法
- jsp下载文件的实现方法 及 注意
- 用Delphi实现文件下载的几种方法
- ASPNET下载文件实现的方法
- dedecms 5.6 完美实现伪静态的方法附打包文件下载
- 经过证实的下载文件java实现方法