чисто выстроить выход - PullRequest
       4

чисто выстроить выход

0 голосов
/ 30 августа 2011

У меня есть текстовый файл, который содержит данные, которые были сохранены с использованием шифрования cvs, и я хочу открыть его в java и отобразить его в идеальном порядке. Я дошел до того, что прочитал его из текстового файла, но теперь я хочу, чтобы он был разделен запятыми, и теперь я хочу, чтобы все отображалось идеально выровненным.

 Last, First, car year, car model 
 barry, john, 1956, chevy impala 

и я хочу, чтобы он отображался так:

 last      First   car year    car model 
 barry     john    1956       chevy impala

и я просто использую класс сканера для получения данных из текстового файла.

Ответы [ 2 ]

1 голос
/ 30 августа 2011

Определите максимальную длину значений столбца (включая заголовки столбцов), затем создайте строку формата и используйте эту строку формата для построения выровненных строк:

// some easy magic first
String[][] values = getCsvValues(file);
int[] maxLengths = determineMaxLengths(values);

// create formatstring, something like "%10s %5s %10s %n"
StringBuilder formatBuilder = new StringBuilder();
for (int maxLength:maxLengths)
  formatBuilder.append("%").append(maxLength).append("s ");
formatBuilder.append("%n");   // newline

// output
for (String[] row:values)
  System.out.printf(formatBuilder.toString, row);
0 голосов
/ 30 августа 2011

В зависимости от того, насколько вы уверены в том, что все выстроено в линию, вам, возможно, придется пройти и найти самую длинную строку для каждого столбца, но я бы использовал вкладки: "\t".Два или три между столбцами обычно работают для меня, для простой отладки, это то, что я использую.

Если вы действительно серьезно относитесь к тому, чтобы все было правильно, попробуйте взглянуть на Formatter s и printf .

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