Я пытаюсь показать прогресс при загрузке объекта. В моей программе, когда я нажимаю кнопку «Загрузить», программа начинает читать объект.
loadMenuItem.addActionListener(e -> {
employeesALcopy = Helpers.ReadEmployees();
});
Моя функция ReadEmployees () выглядит следующим образом:
public static EmployeesAL ReadEmployees()
{
EmployeesAL employeesALcopy = null;
try (ObjectInputStream in = new ObjectInputStream(new FileInputStream("employeesAL.dat"))) {
employeesALcopy = (EmployeesAL) in.readObject();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return employeesALcopy;
}
У меня там 1000000 сотрудников, и это занимает 2-3 минуты, чтобы загрузить этот файл. Как я могу легко показать прогресс этого с помощью ProgressMonitor?
Код EmployeesAL:
public class EmployeesAL extends Employees implements Serializable {
private List<Employee> employeeList;
EmployeesAL()
{
employeeList = new ArrayList<>();
}
}
Код сотрудника:
public class Employee extends Person {
private String employerName;
private LocalDate employmentDate;
private LocalDate releaseDate;
private BigDecimal salary;
private String jobtitle;
private byte[] employeeImage;
}
Объект EmployeesAL имеет ArrayList сотрудников.