java导出Txt文件怎么下载

来源:互联网 发布:hadoop for mac 安装 编辑:程序博客网 时间:2024/06/09 18:43

//工具类如下:
public static Map<String,Object> writeData(LicenseDTO dto) throwsException{
Map<String, Object> map = newHashMap<String, Object>();
String fileName = dto.getOrgName();
//先创建一个txt文件
File file = new File(fileName+"License.txt");
   if (file.exists()) { 
      file.delete();  
   
  file.createNewFile(); 
   //将数据写入文件中
   BufferedWriter output =new BufferedWriter(new FileWriter(file));  
  output.write(encode(String.valueOf(dto.getStartDate()))+"\r\n");
  output.write(encode(String.valueOf(dto.getEndDate()))+"\r\n");
  output.write(encode(String.valueOf(dto.getUsed()))+"\r\n");
  output.write(encode(dto.getCustomerType())+"\r\n");
  output.write(encode(String.valueOf(dto.getThLicenseNum()))+"\r\n");
  output.write(encode(String.valueOf(dto.getOutCustomerNum())));
   output.close();
   InputStream stream=newFileInputStream(file);
   map.put("fileName",file.getName());
   map.put("Stream",stream);
   return map;
}

Action类:
private InputStream inputStream;
private String fileName;
public String output(){
try {
Map<String, Object> map =licenseService.output(ids);
fileName = (String) map.get("fileName");
fileName = new String(fileName.getBytes(),"ISO_8859_1");   //处理中文乱码
inputStream = (InputStream) map.get("Stream");
} catch (Exception e) {
e.printStackTrace();
}
return "exportSUCCESS";
}


在struts.xml里配置:

<result type="stream"name="exportSUCCESS">
<paramname="ContentType">application/zip</param>  <!-- 配置内容类型-->
<paramname="inputName">inputStream</param><!-- 要返回的数据 -->
<paramname="ContentDisposition">filename=${fileName}</param>
</result>


前台就直接一个连接OK:

window.location.href=_url;  
_url自己定义啊
0 0