我正在尝试使用Apache POI类将Outlook .MSG文件解码为文本文件。除了
有任何想法吗?
PrintWriter
的 println
方法不换行外,一切正常。它只是将每个句子直接拼接在一起。下面的代码片段的结果是:
"De: textPara: " iso "De: " "Para: "我在几台机器上尝试了这段代码:在我的本地tomcat安装(Windows机器)上运行良好,但在Solaris平台上的tomcat或Weblogic安装上失败。我认为它与编码算法有关,因此我使用了
PrintStream
代替Printwriter
,指定编码ISO-8859-1,但仍然没有成功。有任何想法吗?
try {
byte [] msgByte = Base64.decodeBase64(msgBase64);
InputStream inputMsg = new ByteArrayInputStream(msgByte);
msg = new MAPIMessage(inputMsg);
/* 1. Transform MSG to TXT. */
try {
txtOut = new PrintWriter(outputMsg);
try {
String displayFrom = msg.getDisplayFrom();
txtOut.println("De: "+displayFrom);
} catch (ChunkNotFoundException e) {
_logger.info("Error extrayendo displayFrom: "+e);
}
try {
String displayTo = msg.getDisplayTo();
txtOut.println("Para: "+displayTo);
} catch (ChunkNotFoundException e) {
_logger.info("Error extrayendo displayTo: "+e);
}
} finally {
if(txtOut != null) {
txtOut.close();}
else {
_logger.error("No se ha podido parsear el mensaje.");
}
}
txtOut.println()
。 - Bhesh Gurung