我有一个包含姓名和姓氏的 txt 文件,我需要从中创建用户。 例如,我的 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)
}
但是这不起作用。我已经尝试了一段时间,但无法从文件中获取我需要的信息。
最佳答案
我会读取整行并通过调用 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);
}
关于java - 读取不同行格式的txt并创建对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65374296/