Printwriter println: новая строка не создана

Я пытаюсь преобразовать файл outlook .MSG в текстовый файл, используя классы Apache POI.

Все работает нормально, за исключением метода println из PrintWriter : он не создает новую строку.

Он просто объединяет каждое предложение непосредственно одно за другим. Результатом фрагмента кода ниже является

"De: textPara: " iso 
"De: "
"Para: "

Я пробовал код на нескольких машинах: он работает на моей локальной установке tomcat (машина Windows), но не работает при установке tomcat или Weblogic на платформе Solaris. Я думал, что это как-то связано с алгоритмом кодирования, поэтому я использовал 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.");
        }

        }
12
задан Bhesh Gurung 12 December 2011 в 15:54
поделиться