由于我的上一个文本和问题非常模糊,因此我现在的源代码和一个更清晰的问题。现在是关于填充。用java填充文本文件表
这里是我的代码到现在:
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
public class makeTable {
static ArrayList<String> val1 = new ArrayList<>(Arrays.asList("field1", "field1val2", "field1val3"));
static ArrayList<String> val2 = new ArrayList<>(Arrays.asList("field2", "field2val2", "field2val3"));
static int col1=15;
static int col2=15;
public static void main(String arg[]) {
BufferedWriter writeTable = null;
try {
writeTable = new BufferedWriter(new FileWriter("C:/testtable.txt"));
//Anfang erste Zeile
writeTable.write("+ ");
for (int i = 0; i < col1; i++){
writeTable.write("-");
}
writeTable.write(" + ");
for (int i = 0; i < col2; i++){
writeTable.write("-");
}
writeTable.write(" +");
writeTable.newLine();
//Ende erste Zeile
for (int i = 0; i < val1.size(); i++){
writeTable.write("| " + val1.get(i) + " "+ " + " +" "+ val2.get(i) + " "+ " |");
writeTable.newLine();
writeTable.write("+ ");
for (int j = 0; j < col1; j++){
writeTable.write("-");
}
writeTable.write(" + ");
for (int m = 0; m < col2; m++){
writeTable.write("-");
}
writeTable.write(" +");
writeTable.newLine();
}
} catch (IOException e) {
System.err.println(e);
} finally {
if (writeTable != null) {
try {
writeTable.close();
} catch (IOException e) {
System.err.println(e);
}
}
}
}
}
现在我需要让结果看上去像添加填充:
+ -------------- + -------------- +
| field1 | filed2 |
+ -------------- + -------------- +
| field1val2 | field2val2 |
+ -------------- + -------------- +
等。它需要居中。我只能想到添加类似val1.get(i).length()/ 2的东西,那就是添加....“的数量,但我该怎么做?
我不能使用其他库(第三方库)。
究竟是什么问题?如何写入文件?或者如何获得这种模式? – jbx
主要是如何获取表格的值与模式。 – Thevagabond
这个小图书馆可能会有所帮助:https://github.com/assylias/Java-Text-Table-Formatter – assylias