Java代码
UserController类:
Java代码
@RequestMapping(value="/reqDownload",method=RequestMethod.GET)
public void reqDownload(@RequestParam("reqFileName") String reqFileName,
@RequestParam("account") String user_account,
HttpServletResponse response,
HttpServletRequest request,
ModelMap map) throws IOException{
request.setCharacterEncoding("UTF-8");
String path=CSVReportOneService.ReqCSVFile(user_account, reqFileName);
//获取下载文件路径
// String path=request.getParameter("reqFileName");
// String path="F:\\Photo\\Collect\\1.jpg";
// 编码
// path=URLEncoder.encode(path, "ISO-8859-1");
// System.out.println("path ISO-8859-1-->"+path);
// 解码
// path=URLDecoder.decode(path, "UTF-8");
System.out.println("path UTF-8-->"+path);
File file=new File(path);
//文件名
String fileName=file.getName();
//扩展名
String ext=fileName.substring(fileName.lastIndexOf(".")+1, fileName.length()).toUpperCase();
//输入流
InputStream inStream=new FileInputStream(path);
InputStream in=new BufferedInputStream(inStream);
byte []bs=new byte[in.available()];
in.read(bs);
in.close();
// 清空response
response.reset();
// 设置response的Header
//使浏览器弹出下载对话框
response.addHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes(),"ISO-8859-1"));
response.addHeader("Content-Length", "" + file.length());
//输出流
OutputStream toClient = new BufferedOutputStream(response.getOutputStream());
toClient.write(bs);
toClient.flush();
toClient.close();
}
CSVReportOneServiceImpl类:
Java代码
@Override
public String ReqCSVFile(String user_account, String CSVName) {
// 从获取将要写入csv文件的结果集
// List
String sql="SELECT user_id,user_account ,user_name,user_desc FROM rg_users";
List
// 预组装csv文件内容标题行
String[][] data = new String[list.size() + 1][4];
data[0][0] = "user_id";
data[0][1] = "user_account";
data[0][2] = "user_name";
data[0][3] = "user_desc";
// 预组装csv文件内容
int len = list.size();
for (int i = 0; i < len; i++) {
data[i + 1][0] = list.get(i).getUser_id();
data[i + 1][1] = list.get(i).getUser_account();
data[i + 1][2] = list.get(i).getUser_name();
data[i + 1][3] = list.get(i).getUser_desc();
}
Date date1 = new Date();
SimpleDateFormat dateFm = new SimpleDateFormat("yyyy-MM-dd-HHmmss");
String fileName="e://Log/"+dateFm.format(date1)+"-"+user_account+CSVName+"-"+"月流量报表1--测试.csv";
Java2CSV.writerCsv(fileName, data);
System.out.println("Java2CSV.writerCsv over!!!");
return fileName;
}
作者“梦想的力量”