Вы можете читать файл построчно и поддерживать три последовательные строки в массиве, а в момент захвата трех строк вы можете создать объект employee, используя его конструктор, как я показал в моем методе main.
Вот пример кода, который вы можете использовать.На всякий случай я изменил тип данных для phoneNumber с int
на String
, потому что номер телефона может содержать или не содержать только цифры.Но если вы уверены, что ваши телефонные номера будут содержать только цифры, которые тоже не начинаются с нуля, вы можете написать Integer.parseInt(fileLines.get(i + 1))
вместо просто fileLines.get(i + 1)
в цикле создания конструктора в цикле for.
Вот пример кода для того же самого,
public class Employee {
private String name;
private String phoneNumber;
private String employeeId;
public Employee(String name, String phoneNumber, String employeeId) {
this.name = name;
this.phoneNumber = phoneNumber;
this.employeeId = employeeId;
}
public String toString() {
return String.format("name: %s, phoneNumber: %s, employeeId: %s",
new Object[] { name, phoneNumber, employeeId });
}
public static void main(String args[]) throws Exception {
try (BufferedReader reader = new BufferedReader(new FileReader("emp.txt"));) {
String line = null;
int counter = 0;
String[] lineObject = new String[3];
while ((line = reader.readLine()) != null) {
line = line.trim();
if (line.length() == 0) {
continue;
}
lineObject[counter++] = line;
if (counter == 3) {
counter = 0;
Employee employee = new Employee(lineObject[0], lineObject[1], lineObject[2]);
System.out.println(employee);
// employee.dowhatever();
}
}
}
}
}
При выполнении эта программа печатает следующий вывод,
name: Chris Cotton, phoneNumber: 5555555555, employeeId: CCOTTON
name: Joshua Trammell, phoneNumber: 5555555555, employeeId: JTRAMMELL