Решение проверил на нескольких примерах, в т.ч. на UTF-8 всё работает корректно. При этом метор выдаёт достаточно странную рекомендацию "Используй System.lineSeparator() в качестве универсального разделителя строк." Не ясно где и зачем.