我有一个文本文件,其中包含使用cvs加密保存的数据,我想在java中打开它并完美地显示它。我已经到了从文本文件中读取它的点,但现在我希望它在逗号中分割,现在我想要将它们全部完全对齐显示。
Last, First, car year, car model
barry, john, 1956, chevy impala
我希望它显示如下:
last First car year car model
barry john 1956 chevy impala
我只是使用scanner类来从文本文件中获取数据。
答案 0 :(得分:1)
确定列值的最大长度(包括列标题),然后创建格式String并使用该格式字符串构建对齐的行:
// some easy magic first
String[][] values = getCsvValues(file);
int[] maxLengths = determineMaxLengths(values);
// create formatstring, something like "%10s %5s %10s %n"
StringBuilder formatBuilder = new StringBuilder();
for (int maxLength:maxLengths)
formatBuilder.append("%").append(maxLength).append("s ");
formatBuilder.append("%n"); // newline
// output
for (String[] row:values)
System.out.printf(formatBuilder.toString, row);
答案 1 :(得分:0)