我正在尝试使用 Apache POI 类将 Outlook .MSG 文件解码为文本文件。
一切正常,除了: 它不创建新行的println
方法。PrintWriter
它只是一个接一个地直接连接每个句子。下面代码片段的结果是
"de: textPara:" iso “德:” “帕拉:”
我在几台机器上尝试了代码:它在我的本地 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.");
}
}