我在使用外部文件格式化我的Java程序输出时遇到问题,使用外部文件输入ArrayList,然后使用Iterator生成输出。我用以下数据创建了一个逗号分隔文本。
两栖动物,青蛙,绿色,游泳 哺乳动物,狗,棕色,运行 鸟,隼,棕,苍蝇 鱼,鲑鱼,银,游
它被加载到程序中然后需要使用迭代器来打印输出。我遇到的问题是尝试将数组中的每个元素打印到列中。输出目前如下所示。任何有关如何格式化的帮助都非常感谢。
两栖动物,青蛙,绿色,游
哺乳动物,狗,棕色,运行
鸟,隼,棕,苍蝇
鱼,鲑鱼,银,游
public class AnimalIO {
public static void main(String[] args) {
File file = new File("animals.txt");
ArrayList<String> animals = new ArrayList<>();
String animal;
// Structure used to read external data into internal ArrayList
try {
Scanner input = new Scanner(file);
while(input.hasNextLine())
{
animal = input.nextLine();
animals.add(animal);
}
}
catch(Exception e){
System.out.println("The input file \"animals.txt\" was not found.");
System.out.println(e.toString());
}
System.out.print("Type\t\tName\t\tColor\t\tAction\n");
System.out.print("---------------------------------------------------"
+ "----\n");
// Iterator structure used to print file
Iterator aio = animals.iterator();
while (aio.hasNext()){
Object element = aio.next();
System.out.print(element + "\t\n");
}
}
}
答案 0 :(得分:0)
您可以尝试使用System.out.printf
或System.out.print
。您可以查看this以查看相同的示例。您可以将所有列的特定宽度设置为大于该列中的最大大小数据。
答案 1 :(得分:0)
使用带逗号分隔符的拆分操作将进一步拆分行数组元素。
Iterator aio = animals.iterator();
while (aio.hasNext()){
String rowElement = (String) aio.next();
String[] atomicElement = rowElement.split(",");
// do something
}