
If you want to print two-dimensional data just like a table in Java Console with headers, rows, columns, and borders, you can do it by using println function with formatting options - but do there are many external libraries (jars) that can make your life easy and one of them is called java-ascii-table
✌️You can download this project jar from here: https://code.google.com/archive/p/java-ascii-table/downloads
The usage of this library is very simple, create a 1-dimensional header array of Strings, and your data could be a 2-dimensional array. Using the instance of ASCIITable class you can print the table using printTable() function that takes in two parameters String[] header and String[][] data.
package org.code2care;
import com.bethecoder.ascii_table.ASCIITable;
public class JavaConsoleTableExample {
public static void main(String[] args) {
String [] tableHeaders = { "Employee Name", "Salary", "Designation","Department"};
String[][] tableData = {
{ "Mike Kurt", "10000", "Developer", "IT" },
{ "Steve Musk", "20000", "Lead DevOps", "IT" },
{ "Larry Jobs", "30000", "Java Developer", "IT" },
{ "Elon Peters", "400000", "Manager", "IT" },
{ "Jake Burg", "50000000", "CEO", "IT" },
};
ASCIITable.getInstance().printTable(tableHeaders, tableData);
}
}
Output:
+---------------+----------+----------------+------------+
| Employee Name | Salary | Designation | Department |
+---------------+----------+----------------+------------+
| Mike Kurt | 10000 | Developer | IT |
| Steve Musk | 20000 | Lead DevOps | IT |
| Larry Jobs | 30000 | Java Developer | IT |
| Elon Peters | 400000 | Manager | IT |
| Jake Burg | 50000000 | CEO | IT |
+---------------+----------+----------------+------------+
As you can see in the above output the table is rendered using dash (-), pipe (|), and plus (+) ASCII characters and it looks really amazing.
✌️Try and explore the printTable method that is overloaded with features that can be used to align the table cell data on console.
public void printTable(String[] header, String[][] data)
public void printTable(String[] header, String[][] data, int dataAlign)
public void printTable(String[] header, int headerAlign, String[][] data, int dataAlign)
public void printTable(IASCIITableAware asciiTableAware)
Have Questions? Post them here!
Provide Feedback For This Article
We take your feedback seriously and use it to improve our content. Thank you for helping us serve you better!
😊 Thanks for your time, your feedback has been registered!
Comments & Discussion
Facing issues? Have questions? Post them here! We're happy to help!