读取具有不同行格式的 txt 并创建对象?
Read txt with different lines format and create objects?
我有一个包含名称和最后一个 name/s 的 txt 文件,我需要从中创建用户。
例如,我在 txt 中有这样的值:
Beckham, David
Lopez Vega, Maria
Graham Daniels, Luke
问题是用户仅使用第一个姓氏和姓名创建(如果有第二个姓氏则忽略)。
我不知道如何获取该信息并用它创建一个对象。
对象class很简单:
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)
}
但它不起作用。我已经尝试了一段时间,但无法从文件中获取我需要的信息。
我会阅读整行并通过调用 split
s:
来解析它
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);
}
我有一个包含名称和最后一个 name/s 的 txt 文件,我需要从中创建用户。 例如,我在 txt 中有这样的值:
Beckham, David
Lopez Vega, Maria
Graham Daniels, Luke
问题是用户仅使用第一个姓氏和姓名创建(如果有第二个姓氏则忽略)。 我不知道如何获取该信息并用它创建一个对象。 对象class很简单:
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)
}
但它不起作用。我已经尝试了一段时间,但无法从文件中获取我需要的信息。
我会阅读整行并通过调用 split
s:
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);
}