importjava.io.BufferedOutputStream;importjava.text.MessageFormat;importjava.util.Calendar;importjavax.servlet.ServletOutputStream;importjavax.servlet.http.HttpServletResponse;importcom.jd.fce.ape.web.common.util.FileUtil;importorg.apache.commons.lang.StringUtils;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;/*** 导出文件文件的工具类*/
public classExportTextUtil {/*** 声明日志记录器*/
private static final Logger LOGGER = LoggerFactory.getLogger(ExportTextUtil.class);/*** 导出文本文件
*@paramresponse
*@paramjsonString
*@paramfileName*/
public static voidwriteToTxt(HttpServletResponse response,String jsonString,String fileName) {//设置响应的字符集
response.setCharacterEncoding("utf-8");//设置响应内容的类型
response.setContentType("text/plain");//设置文件的名称和格式
response.addHeader("Content-Disposition","attachment; filename="
+ FileUtil.genAttachmentFileName(fileName+ "_", "JSON_FOR_UCC_")+ MessageFormat.format("{0,date,yyyy-MM-dd HH:mm:ss}", newObject[]{Calendar.getInstance().getTime()})+ ".txt");//通过后缀可以下载不同的文件格式
BufferedOutputStream buff = null;
ServletOutputStream outStr= null;try{
outStr=response.getOutputStream();
buff= newBufferedOutputStream(outStr);
buff.write(delNull(jsonString).getBytes("UTF-8"));
buff.flush();
buff.close();
}catch(Exception e) {
LOGGER.error("导出文件文件出错,e:{}",e);
}finally{try{
buff.close();
outStr.close();
}catch(Exception e) {
LOGGER.error("关闭流对象出错 e:{}",e);}
}}/*** 如果字符串对象为 null,则返回空字符串,否则返回去掉字符串前后空格的字符串
*@paramstr
*@return
*/
public staticString delNull(String str) {
String returnStr="";if(StringUtils.isNotBlank(str)) {
returnStr=str.trim();
}returnreturnStr;
}
}