读取不同行格式的txt并创建对象?

qmb5sa22  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(278)

我有一个txt文件的名称和姓氏/s,我需要从它创建用户。例如,我在txt中有如下值:

Beckham, David
Lopez Vega, Maria
Graham Daniels, Luke

问题是,创建用户时只使用第一个姓氏和第二个姓氏(如果有第二个姓氏,则忽略它)。我不知道如何利用这些信息创建一个对象。对象类很简单:

public class Student {
    private String name;
    private String lastName;

    public Student(String name, String lastName) {
        this.name= name;
        this.lastName= lastName;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getlastName() {
        return lastName;
    }

    public void setlastName(String lastName) {
        this.lastName = lastName;
    }

我试过这个:

Scanner input = new Scanner(new File("Students.txt"));

List<Student> students= new ArrayList<Student>();
while(input.hasNext()) {
    String name= input.next();
    String lastName = input.next();

    Student student= new Student(name, lastName);
    students.add(student)
}

但它不起作用。我已经试了一段时间,但我无法从文件中得到我需要的信息。

pvabu6sv

pvabu6sv1#

我读了一整行,然后通过调用 split 学生:

Scanner input = new Scanner(new File("Students.txt"));

List<Student> students = new ArrayList<Student>();
while(input.hasNextLine()) {
    String line = input.nextLine();
    String[] splitLine = line.split(", ");

    String name = splitLine[1];

    String[] splitLastName = splitLine[0].split(" ");
    String lastName = splitLastName[0];

    Student student = new Student(name, lastName);
    students.add(student);
}

相关问题