Я думаю, что лучшим решением будет создание собственного WrapTextWriter, который обернет любого другого писателя и переопределит метод public void write(String str, int off, int len) throws IOException
. Здесь он должен работать в цикле и выполнять логику переноса.
Эта логика не так проста, как str.substring(80)
. Если вы имеете дело с реальным текстом и хотите обернуть его правильно (то есть не обрезайте слова, не перемещайте запятые или точки на следующую строку и т. Д.), Вы должны реализовать некоторую логику. это, вероятно, не слишком сложно, но, вероятно, зависит от языка. Например, в английском нет пробела между словом и двоеточием, в то время как во французском они ставят пробел между ними.
Итак, я выполнил поиск в течение 5 секунд и обнаружил следующее обсуждение , которое может вам помочь.