2010-12-14 30 views
5

Có ai biết thư viện có thể biến đổi một chuỗi [] [] thành một bảng chuỗi như dưới đây không?Thư viện Java để viết một bảng trên dòng lệnh

 
| title1 | title2 | 
|________|________| 
| blah | blih | 
| blah2 | blih2 | 
etc... 

Tôi có thể viết chuỗi định dạng cho mã này, nhưng sẽ không phải là mã chung, được gắn với thông số. Viết mã chung cho mục đích này sẽ đắt hơn những gì tôi sẵn sàng đầu tư.

Vì vậy, tất cả trong tất cả, tôi nghĩ rằng một thư viện sẽ được biện minh cho điều này.

Bất kỳ ý tưởng nào nếu điều này đã tồn tại?

+2

chúng ta có thể sử dụng một csv định dạng và xem trong văn phòng mở hoặc excel? – Milhous

+0

Có gì sai với 'String.format()'? –

+1

String.format() là tốt, nó chỉ không cung cấp cho logic để tính chiều rộng của các cột hoặc điều chỉnh bảng thành số lượng cột khác nhau theo đầu vào String [] [] khác nhau. – matthieus

Trả lời

5

Theo daniel_or_else trong this chủ đề:

Sử dụng j-text-utils bạn có thể in đến an ủi một bảng như:

_____________________________________________________________ 
| Item Num | Description   | Rating | Cost | Price | 
============================================================= 
| 8675309 | Tommy Tutone Album |  3 | 5.99 | 10.99 | 
| 5619452 | Led Zeppelin Box Set |  5 | 10.42 | 24.95 | 
| 9154732 | Justin Bieber Box Set |  -1 | 0.00 | 0.00 | 

Và nó đơn giản như:

TextTable tt = new TextTable(columnNames, data); 
tt.printTable(); 
1

Tôi không biết về bất kỳ thư viện mà thực hiện điều này, nhưng hãy nhìn vào câu hỏi này SO:

Java: Print a 2D String array as a right-justified table

Nó cho bạn thấy làm thế nào bạn có thể tạo ra một phương pháp chung chung mà tự động-tạo ra định dạng chuỗi cho mỗi cột.

+0

Đây là một giải pháp tốt, nhưng nếu một thư viện tồn tại, tôi vẫn muốn biết, vì tôi cần nhiều tính năng định dạng hơn trong trường hợp của mình. Thực ra tôi không tìm kiếm một giải pháp, thêm một thư viện để ngoại suy hóa loại logic này (nếu tôi có thể tránh duy trì mã xấu xí của mình, tôi sẽ :-)). – matthieus

Các vấn đề liên quan