gpt4 book ai didi

java - 逐行读取文件,同时将对象存储在每行的数组中

转载 作者:行者123 更新时间:2023-12-04 06:05:27 26 4
gpt4 key购买 nike

我有一个最多可读取 4 行的文本文件。每一行都是由制表符隔开的字符串和整数的混合。

我已经成功地让我的程序读取了 1 行并将所有信息存储在适当的位置,同时还在数组中存储了一个新对象。

问题:我不知道如何让它读取多行,同时根据读取的行将新对象存储在数组中。

这是我获取文件并将对象存储在数组中的方法:

public void addVehicle(Vehicle Honda[]) throws FileNotFoundException
{
Scanner reader = new Scanner(file);

if(canAddVehicle() == true)
{
for(int i = 0; i < vehicles.length; i++)
{
if(vehicles[i] == null)
{
Honda[i] = new Vehicle();
Honda[i].readRecord(reader);
vehicles[i] = Honda[i];
reader.close();
break;
}
}
System.out.println("Vehicle Added!");
}
else
{
System.out.println("You can not add more than 4 vehicles.");
}
}

和 readRecord() 方法:
public void readRecord(Scanner reader)
{
while(reader.hasNextLine())
{
setMake(reader.next());
setModel(reader.next());
setYear(reader.nextInt());
setvin(reader.next());
setValue(reader.nextDouble());
setMilesDriven(reader.nextInt());
setLastOilChange(reader.nextInt());
}
reader.close();
}

最佳答案

如果您只能成功存储一个 Vehicle 实例,那是因为您过早关闭了阅读器。

在 addVehicle() 中,去掉

reader.close();

并在 readRecord() 中,去掉
reader.close();

在 addVehicle() 结束时关闭阅读器。

关于java - 逐行读取文件,同时将对象存储在每行的数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8410050/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com