Форматировать строки текстового файла фиксированного формата - PullRequest
1 голос
/ 26 апреля 2010

есть текстовый файл

first second third
1 2 3
yes no ok
hmmmmmmm yep_a_long_word_it_is ahahahahahahha

какие функции / библиотеки java использовать для выравнивания слов, чтобы они выглядели так (фиксированная ширина на основе длины самого длинного столбца), скажем, выравнивание по центру:

  first          second            third
    1              2                 3
    yes            no                ok
hmmmmmmm yep_a_long_word_it_is ahahahahahahha

Знаете, мне нужна функциональность Microsoft Word (JUSTIFY-FULL) (Ctrl + J).

Ответы [ 2 ]

2 голосов
/ 26 апреля 2010

См. center(String, int) метод org.apache.commons.lang.StringUtils в Apache Commons Lang.

Ссылка: http://commons.apache.org/lang/

1 голос
/ 26 апреля 2010

Я не знаю ни одной библиотеки, которая бы сделала это за вас, но это довольно тривиальная задача программирования ...

Сделайте один проход через данные и измерьте максимальную длину строки в каждом столбце

Сделайте второй проход, записывая данные с отступами по обе стороны от каждой точки привязки, чтобы ширина была такой же, как и максимальная.

Напишите себе функцию, которая дополняет строку на любом конце до фиксированной длины.

РЕДАКТИРОВАТЬ: только что видел другой ответ об утилите центрирования строк Apache - это избавит вас от необходимости писать один, если вы не против добавить эту зависимость в ваш проект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...