我想使用Apache POI类将outlook .MSG文件解码为文本文件。Printwriter println:没有创建新行
一切工作正常,除了println
方法PrintWriter
:它不会创建一个新行。
它只是一个接一个地连接每个句子。下面摘录的代码的结果是
"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.");
}
}
你打印什么?控制台,日志文件,GUI应用程序中的文本框,html? – nos
你是否试图在每行之间添加一行。每次你写一行后立即尝试'txtOut.println()'。 –
除了实际输出的内容外,您期待的确切输出是什么? – Peter