列表的字符串格式
String Formatting for a list
我正在使用 CSV 文件中的数据制作购物清单。我 运行 关于输出格式的障碍。我对 java 不是很熟悉,因为我是编码的新手。我想知道是否有人可以告诉我如何将我的 headers 与下面的信息对齐。现在它的输出是这样的:
Item Category Amount Price Location
Apple Food 12 1 Walmart
Grapes Food 15 0.5 Walmart
我希望它这样输出:
Item | Category | Amount | Price | Location
Apple | Food | 12 | 1 | Walmart
Grapes| Food | 15 | 0.5 | Walmart
到目前为止,我的代码如下所示:
public static void main(String[] args) {
ArrayList <Caring> csvstuff = new ArrayList <Caring> ();
String fileName = "Project2.csv";
File file = new File(fileName);
try {
Scanner inputStream = new Scanner(file);
while (inputStream.hasNext()) {
String data = inputStream.next();
String[] values = data.split(",");
String Item = values[0];
String Category = values[1];
String Amount = values[2];
String Price = values[3];
String Location = values[4];
System.out.println(values[0] + " " + values[1] + " " + values[2] + " " + values[3] + " " + values[4]);
caring _caring = new caring(Item, Category, Amount, Price, Location);
csvstuff.add(_caring);
}
inputStream.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
您可以为此使用字符串格式。
String format = "%-10s |%10s |%10s |%10s |%10s\n";
System.out.printf(format, values[0], values[1], values[2], values[3], values[4]);
以上代码将给出预期的结果。
编辑:使用 StringUtils 进行格式化。
String result = StringUtils.EMPTY;
result = StringUtils.center(values[0], 10) + '|' + StringUtils.center(values[1], 10) + '|'+ StringUtils.center(values[2], 15) + '|' + StringUtils.center(values[3], 15) + '|'
+ StringUtils.center(values[4], 15);
System.out.println(result);
我正在使用 CSV 文件中的数据制作购物清单。我 运行 关于输出格式的障碍。我对 java 不是很熟悉,因为我是编码的新手。我想知道是否有人可以告诉我如何将我的 headers 与下面的信息对齐。现在它的输出是这样的:
Item Category Amount Price Location
Apple Food 12 1 Walmart
Grapes Food 15 0.5 Walmart
我希望它这样输出:
Item | Category | Amount | Price | Location
Apple | Food | 12 | 1 | Walmart
Grapes| Food | 15 | 0.5 | Walmart
到目前为止,我的代码如下所示:
public static void main(String[] args) {
ArrayList <Caring> csvstuff = new ArrayList <Caring> ();
String fileName = "Project2.csv";
File file = new File(fileName);
try {
Scanner inputStream = new Scanner(file);
while (inputStream.hasNext()) {
String data = inputStream.next();
String[] values = data.split(",");
String Item = values[0];
String Category = values[1];
String Amount = values[2];
String Price = values[3];
String Location = values[4];
System.out.println(values[0] + " " + values[1] + " " + values[2] + " " + values[3] + " " + values[4]);
caring _caring = new caring(Item, Category, Amount, Price, Location);
csvstuff.add(_caring);
}
inputStream.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
您可以为此使用字符串格式。
String format = "%-10s |%10s |%10s |%10s |%10s\n";
System.out.printf(format, values[0], values[1], values[2], values[3], values[4]);
以上代码将给出预期的结果。
编辑:使用 StringUtils 进行格式化。
String result = StringUtils.EMPTY;
result = StringUtils.center(values[0], 10) + '|' + StringUtils.center(values[1], 10) + '|'+ StringUtils.center(values[2], 15) + '|' + StringUtils.center(values[3], 15) + '|'
+ StringUtils.center(values[4], 15);
System.out.println(result);