Sto tentando di decodificare un file .MSG di Outlook in un file di testo, utilizzando le classi di POI di Apache.Printwriter println: nessuna nuova riga creata
Tutto funziona correttamente, ad eccezione del metodo println
di PrintWriter
: non crea una nuova riga.
Concatena ogni frase direttamente una dopo l'altra. Il risultato del frammento di codice che segue è
"De: textPara: " iso "De: " "Para: "
Ho provato il codice su più macchine: funziona sul mio Tomcat locale Installazione (macchina Windows), ma non riesce in un Tomcat o Weblogic instalation su una piattaforma Solaris. Ho pensato che avesse qualcosa a che fare con l'algoritmo di codifica, quindi ho usato PrintStream
invece di Printwriter
, indicando la codifica ISO-8859-1, ma senza fortuna neanche.
Qualche idea?
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.");
}
}
cosa stai stampando? Una console, un file di registro, una casella di testo in un'app GUI, html? – nos
Stai cercando di aggiungere una linea in più tra ogni linea. Prova 'txtOut.println()' subito dopo ogni volta che scrivi una riga. –
Qual è l'output esatto che ci si aspetta, oltre a ciò che viene effettivamente prodotto? – Peter