2010-05-10 4 views
5

개체 목록을 표 형식의 텍스트 파일에 인쇄해야합니다. 예를 들어, Person (getName, getAge 및 getAddress 메소드 있음) 목록이있는 경우 텍스트 파일은 다음과 같아야합니다.자바를 사용하여 테이블 형식으로 파일 형식으로 개체 목록을 인쇄하는 방법

Name  Age  Address 

Abc  20  some address1 
Def  30  some address2 

필자는 공백을 처리하고 문제를 해결해야하는 몇 가지 코드를 수동으로 작성하여이 작업을 수행 할 수 있습니다.

이 서식 작업을 수행하는 데 API 또는 도구가 있는지 궁금합니다.

답변

7
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

신난다! 이것은 정말 간단하고 효과적입니다. 감사. – jgg

0

패딩 된 필드가있는 printf를 사용하여 열 정렬을 수행합니다.

PrintWriter.printf는 구체적으로

관련 문제