使用响应容器输出文件或文字
获取响应的字节流(An output stream accepts output bytes
* and sends them to some sink),将文件写入字节流中输出。
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment;filename=".concat("file_name" + ".xlsx"));
ServletOutputStream outputStream = response.getOutputStream();
workbook.write(outputStream);
if (workbook != null) {
workbook.close();
}else if (outputStream != null){
outputStream.close();
}
利用响应的getWriter方法,获取文本输出字符流(character streams),输出文本内容
response.setHeader("Content-type", "text/html;charset=UTF-8");
response.setCharacterEncoding("UTF-8");
PrintWriter writer = response.getWriter();
if(writer != null){
writer.close();
}
字节流(ServletOutputStream)默认使用iso8859-1编码来进行存储字节数据。而且,使用字节流(ServletOutputStream)的write方法输出字符,改变编码为UTF-8后,还是会报iso8859-1编码异常。
编码集:http://www.iana.org/assignments/character-sets/character-sets.xhtml
String数组转List,List转String数组
List list = Arrays.asList(arr); //String数组转List
String[] strArray = list.toArray(new String[list.size()]); //List转String数组