Форматирование выходного файла Java - PullRequest
2 голосов
/ 29 апреля 2011

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

Name of School                   Size of School
--------------                   --------------
Blblah blah                        1300
Blah blah blah                    11300
Blah blah blah asdf               14220
Blah bblah                         1300

но у меня проблемы. В настоящее время я использую следующий код, чтобы получить следующий вывод:

File file1 = new File("src\\sortedInt.txt");
Formatter fmt = new Formatter(file1);

HelperMethods.quickSortStudents(colleges, 0, colleges.length - 1);
for(int i = 0; i < colleges.length; i++)
{
      fmt.format(colleges[i].nameOfSchool + "%20d" + "\n", (int)colleges[i].numOfStudents);
      fmt.flush();
}  

, что дает мне:

eastman school of music                 800
clark university                1100
walla walla college                1100
drew                1200
juilliard                1200

Потому что я просто добавляю с конца названия колледжа. Есть ли способ дополнить всю строку, чтобы все строки имели постоянную длину?

Спасибо всем за помощь

Ответы [ 2 ]

4 голосов
/ 29 апреля 2011

Да, выведите название своего колледжа, выровненное по левому краю и дополненное до определенной длины, затем выведите количество студентов, выровненных по правому краю и дополненное до определенной длины:

fmt.format("%-20s%10d\n", colleges[i].nameOfSchool, (int) colleges[i].numOfStudents);
2 голосов
/ 29 апреля 2011

Возможно, вы также захотите добавить название школы, которая будет отформатирована, как показано ниже:

fmt.format("%1$20s %1$5d\n", colleges[i].nameOfSchool, (int)colleges[i].numOfStudents);

Следующая ссылка поможет вам лучше разобраться в форматировании: http://download.oracle.com/javase/1.5.0/docs/api/java/util/Formatter.html

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