我对以下 java 代码有疑问:
final FacesContext facesContext = FacesContext.getCurrentInstance();
final ExternalContext externalContext = facesContext.getExternalContext();
final HttpServletResponse response = (HttpServletResponse) externalContext.getResponse();
response.setContentType("text/plain; charset=ISO-8859-1");
response.setHeader("Content-Disposition", "attachement;filename=result.csv");
final OutputStream outputSteam = response.getOutputStream();
CSVWriter writer = new CSVWriter(new OutputStreamWriter(outputSteam, "ISO-8859-1"), ';', '"');
// Fill the csv file with something
writer.close();
outputSteam.flush();
outputSteam.close();
我有一个系统,这可以将一些文件导出为 csv 格式,应该用 MS Excel 引用。有时,如果用户将 csv 导出文件保存在他的计算机硬盘上,表格计算程序可能不会自动启动。这样,文件就不是“result.csv”文件,而是“result.csv.txt”文件。但为什么?问题只存在于firefox浏览器,bur不存在于IE中。
java代码中是否缺少任何内容?有什么特点吗?或者这是我的java代码没有引起的唯一Windows内部问题?
感谢帮助 !
格雷茨马尔维夫