package com.changgx.util;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.nio.charset.Charset;
import java.util.Date;
/**
* 长歌行
* changgx2014@163.com
* 2016/12/26 9:49
*/
public class FileUtils {
/**
* 下载文件
* @param filecontent 文件内容
* @param response
* @param fileName 文件名
*/
public static void download(String filecontent, HttpServletResponse response,String fileName) {
System.out.println("downloading file...");
try {
byte[] bytes = filecontent.getBytes("GBK");
// 清空response
response.reset();
// 设置response的Header
fileName=new String(fileName.getBytes(),"ISO8859-1");
response.addHeader("Content-Disposition", "attachment;filename=" +fileName);
response.addHeader("Content-Length", "" + bytes.length);
response.setContentType("application/octet-stream;charset=GBK");
response.setCharacterEncoding("GBK");
response.getOutputStream().write(bytes);
response.flushBuffer();
response.getOutputStream().close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
如果下载的文件是cvs格式的,那么文件内容需要格式化下
//设置表头
StringBuilder str = new StringBuilder("起始地,目的地,流量(MB)\n");
for(JSONObject item:re){
//表数据
str.append(srcName).append(",").append(item.get("name")).append(",").append(item.get("value")).append("\n");
}