Существует библиотека с открытым исходным кодом под названием MgntUtils, которая имеет функцию, которая принимает обычную строку и создает формат строки для HTML, где форматирование строки будет сохранено. Т.е. все пробелы в строке будут заменены неразрывными пробелами, а все новые строки будут заменены тегами 'br'. Преимущество заключается в том, что если вы просто напечатаете свою строку в виде текста, то не-тормозные пробелы будут выглядеть как обычный пробел, а не как "\ u00A0" или nbsp escape. Конечно, вы увидите теги br, но, тем не менее, ваша строка будет выглядеть гораздо более читабельной. Вот JavaDoc для метода. Я нашел это иногда очень удобным. Код будет выглядеть так:
String htmlFormattedStr = formatStringToPreserveIndentationForHtml(rawText);
Здесь можно найти артефакты библиотеки Maven , а саму библиотеку в виде файла Jar, а также исходный код и JavaDoc можно найти в Github . Вот ссылка на статью о библиотеке