Estoy intentando decodificar un archivo .MSG de Outlook en un archivo de texto, utilizando las clases de puntos de interés de Apache.printliter println: no se creó una nueva línea
Todo funciona bien, excepto en el método println
de PrintWriter
: no crea una nueva línea.
Simplemente concatena cada frase directamente una tras otra. El resultado del código siguiente fragmento es
"De: textPara: " iso "De: " "Para: "
Probé el código en varias máquinas: funciona en mi Tomcat instalación local (máquina de Windows), pero falla en un gato o instalación Weblogic en una plataforma Solaris. Pensé que tenía algo que ver con el algoritmo de codificación, así que usé PrintStream
en lugar de Printwriter
, lo que indica la codificación ISO-8859-1, pero tampoco tuve suerte.
¿Alguna 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.");
}
}
¿qué está imprimiendo? Una consola, un archivo de registro, un cuadro de texto en una aplicación GUI, html? – nos
¿Está tratando de agregar una línea adicional entre cada línea? Pruebe 'txtOut.println()' justo después de cada vez que escriba una línea. –
¿Cuál es el resultado exacto que espera, además de lo que realmente se genera? – Peter