将读取数据从文件放入记录中

时间:2012-10-02 20:15:45

标签: java record java.util.scanner

我有员工记录。六个字段很长,有

之类的东西
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文件中获取适当的数据行到员工记录中的相应插槽中。有什么建议吗?

2 个答案:

答案 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文件中的数据行之间的顺序。