Как отметил Николас Орловски, проблема заключается в том, что в конце строки находятся символы, которые в соответствии со стандартом HL7 являются символами CR, которые заставляют командную строку Windows только сбрасывать курсор в начале строки и перезаписывать его содержимым следующей строки.,Поэтому для вывода на консоль Вам необходимо заменить окончания строк чем-то другим.
Для недавнего приложения HL7, использующего HAPI, который вы, похоже, также используете, я сделал небольшой вспомогательный метод для достижения этой функции:
private static String replaceNewlines(String input) {
return input.replaceAll("\\r", "\n");
}
Эту функцию можно использовать на всех платформах, поскольку она заменяет символы CR символами новой строки для ОС.
Затем я могу использовать ее для вывода на консоль в видеследует:
LOGGER.trace("Generated message contents:\n" + replaceNewlines(outMessage.encode()));
В этом случае я использую log4j для входа в консоль, а не в простую распечатку консоли, но проблема для меня была та же.
Надеюсь, это поможет!