Я создал массив объектов типа Employee, и я помещаю объекты в файл .txt. Ниже метод, который принимает Служащие объекты параметра и помещает его в файл .txtКак устранить исключение ClassCastException при извлечении массива объектов из TXT-файла?
public void putDataintoFile(Employee[] obj) {
File file = new File("employeedetails.txt");
try {
FileOutputStream fos = new FileOutputStream(file);
try {
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(obj);
oos.close();
fos.close();
}
catch (IOException ex) {
Logger.getLogger(EmployeeService1.class.getName()).log(Level.SEVERE, null, ex);
}
}
catch (FileNotFoundException ex) {
Logger.getLogger(EmployeeService1.class.getName()).log(Level.SEVERE, null, ex);
}
}
Это выше метод вызывается из отдельного «Execetor класса», который затем называет свой метод getDataFromFile() ниже
public void getDataFromFile() {
System.out.println("Reached HERE");
try {
FileInputStream fin = new FileInputStream("employeedetails.txt");
try {
ObjectInputStream oin= new ObjectInputStream(fin);
try {
Employee e =(Employee)oin.readObject();
System.out.println("Reached HERE");
System.out.println(e.toString());
} catch (ClassNotFoundException ex) {
Logger.getLogger(EmployeeService1.class.getName()).log(Level.SEVERE, null, ex);
}
oin.close();
fin.close();
}
catch (IOException ex) {
Logger.getLogger(EmployeeService1.class.getName()).log(Level.SEVERE, null, ex);
}
}
catch (FileNotFoundException ex) {
Logger.getLogger(EmployeeService1.class.getName()).log(Level.SEVERE, null, ex);
}
}
Об исполнителе Я получаю сообщение об ошибке.
Exception in thread "main" java.lang.ClassCastException: [LMypackage.Employee; cannot
be cast to Mypackage.Employee
at Mypackage.EmployeeService1.getDataFromFile(EmployeeService1.java:225)
at Mypackage.Executor.main(Executor.java:71)
Я реализовал Serializable интерфейс в моем Сотрудника Classs
кто-нибудь может мне помочь?
'code' Сотрудник e [] = новый сотрудник [2]; для (int i = 0; i <2; i ++) { e [i] = (Сотрудник) oin.readObject(); System.out.println (e [i]); } 'code' Я попытался это, но все та же ошибка –
его работы я не вступал объекты в файл с помощью цикла Я изменил мою' code' putData() tofor (INT I = 0; я <2; i ++) { oos.writeObject (obj [i]); } oos.close(); fos.close(); 'code' и мой метод getData для ' code' Сотрудник e [] = новый сотрудник [2]; для (int i = 0; i <2; i ++) { e [i] = (Сотрудник) oin.readObject(); System.out.println (e [i]); } 'code' –