File directory = null;
String path = tempPath + File.separator + fileName;
directory = new File(path);
if(!directory.exists()){
directory.mkdirs();
}
Writer out = null;
FileOutputStream fos = null;
//这个地方对流的编码不可或缺,使用main()单独调用时,应该可以,但是如果是web请求导出时导出后word文档就会打不开,并且包XML文件错误。主要是编码格式不正确,无法解析。
//out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile)));
for (int i = 0; i < dataMapList.size(); i++) {
File outFile = new File(path+File.separator+fileName+System.currentTimeMillis() + ".doc");
if (!outFile.exists()) {
outFile.createNewFile();
}
fos = new FileOutputStream(outFile);
OutputStreamWriter oWriter = new OutputStreamWriter(fos, "UTF-8");
out = new BufferedWriter(oWriter);
t.process(dataMapList.get(i), out);
}
out.close();
fos.close();
流虽然在循环外关闭了,但是多个文件会导致只能删除最后一个文件,应该将close 放在循环内