Как напечатать список объектов в файл с форматированием в формате таблицы с использованием Java - PullRequest
5 голосов
/ 10 мая 2010

Я должен напечатать список объектов в текстовый файл в табличном формате. Например, если у меня есть список объектов Person (имеет методы getName, getAge и getAddress), текстовый файл должен выглядеть следующим образом.

Name       Age      Address

Abc        20       some address1
Def        30       some address2 

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

Мне просто интересно, являются ли они API-интерфейсами или инструментами для этой работы по форматированию?

Ответы [ 2 ]

7 голосов
/ 10 мая 2010
import java.util.*;

public class Test {

    public static void main(String[] args) {
        List<Person> list = new ArrayList<Person>();
        list.add(new Person("alpha", "astreet", 12));
        list.add(new Person("bravo", "bstreet", 23));
        list.add(new Person("charlie", "cstreet", 34));
        list.add(new Person("delta", "dstreet", 45));

        System.out.println(String.format("%-10s%-10s%-10s", "Name", "Age", "Adress"));
        for (Person p : list)
            System.out.println(String.format("%-10s%-10s%-10d", p.name, p.addr, p.age));
    }
}

class Person {
    String name;
    String addr;
    int age;
    public Person(String name, String addr, int age) {
        this.name = name;
        this.addr = addr;
        this.age = age;
    }
}

Выход:

Name      Age       Adress    
alpha     astreet   12        
bravo     bstreet   23        
charlie   cstreet   34        
delta     dstreet   45        
0 голосов
/ 10 мая 2010

Используйте printf с дополненными полями для выравнивания столбцов.

Конкретнее PrintWriter.printf

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