如何在Java中以表格格式输出从.txt文件读取的数据到控制台?
时间: 2024-04-04 21:32:03 浏览: 165
要将从txt文件中读取的数据以表格格式输出到控制台,可以按照以下步骤实现:
1. 读取txt文件中的数据
使用Java的FileReader和BufferedReader类来读取txt文件中的数据,并将其存储在一个二维数组中。
```java
File file = new File("data.txt");
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
List<String[]> data = new ArrayList<>();
String line;
while ((line = br.readLine()) != null) {
String[] row = line.split(",");
data.add(row);
}
br.close();
fr.close();
```
2. 计算每列的最大宽度
遍历二维数组,计算每列的最大宽度,以便在输出表格时设置每列的宽度。
```java
int[] columnWidths = new int[data.get(0).length];
for (String[] row : data) {
for (int i = 0; i < row.length; i++) {
if (row[i].length() > columnWidths[i]) {
columnWidths[i] = row[i].length();
}
}
}
```
3. 输出表格格式的数据到控制台
根据读取到的数据和每列的最大宽度,输出表格格式的数据到控制台。
```java
for (String[] row : data) {
for (int i = 0; i < row.length; i++) {
System.out.printf("%-" + columnWidths[i] + "s", row[i]);
if (i < row.length - 1) {
System.out.print(" ");
}
}
System.out.println();
}
```
在输出表格时,使用printf方法来格式化每列的宽度,其中%表示格式化符号,-表示左对齐,columnWidths[i]表示宽度,s表示字符串类型。通过在格式化符号前面添加%和-,可以实现左对齐。通过在格式化符号后面添加s,可以将数据格式化为字符串类型。
这样,你就可以将从txt文件中读取的数据以表格格式输出到控制台了。
阅读全文