我有员工记录。六个字段很长,有
之类的东西private String name;
private String id;
private double salary;
我需要从.txt文件中读取原始数据,该文件包含三个不同员工的18行数据(每位员工6行),并将数据放入特定的员工记录中。到目前为止,这是我在我的主要方法中所拥有的:
public static void main(String[] args)
{
//employee declarations
Employee e1 = new Employee();
Employee e2 = new Employee();
Employee e3 = new Employee();
int count = 0;
int emp_count = 0;
File in_file = new File("EmployeeData.txt");
Scanner fscan = new Scanner(in_file);
while(fscan.hasNext())
{
e1.set_name
不太确定如何从txt文件中获取适当的数据行到员工记录中的相应插槽中。有什么建议吗?
答案 0 :(得分:1)
您可以创建一个单独的函数,一次只读取一个Employee记录
public static Employee readEmployeeData(Scanner scanner) {
Employee employee = new Employee();
if (scanner.hasNext())
employee.name = scanner.next();//Use getter setters
if (scanner.hasNext())
employee.id = scanner.next();
if (scanner.hasNextDouble())
employee.salary = scanner.nextDouble();
else
scanner.next();// For double case
return employee;
}
答案 1 :(得分:0)
您可以对Employee类的字段使用reflect,它可以表示为数组或其他内容。在数组填满所有内容后,您可以更改为另一个要填充的对象。
唯一的问题是,txt文件中的数据顺序与对象的字段列表相同。您可能需要执行一些操作来调整对象中的字段与txt文件中的数据行之间的顺序。