Первое, что я сделал, это написать ArrayList как объект ann в файл .txt, то, что я пытаюсь сделать, - это вернуть обратно эти объекты в массив и отобразить массив (обратный от первого шага). Аррайалист, которому я перехожу к функциям, - продавец и техник, которые расширяют сотрудников с именами параметров, числом, мишенью, terriorty и т. Д. Я получаю эту ошибку, когда пытаюсь ее скомпилировать.Как читать объекты массивов из .txt-файла?
Исключение в потоке "основного" java.lang.ClassCastException: java.util.ArrayList не может быть приведен к Служащий в FileIO.readObject (FileIO.java:165) в UseCompany.main (UseCompany.java:61)
Попытка считаны объекты из текстового файла
ArrayList<Employee> use_company_arraylist2 = FileIO.("C:\\Users\\Saad\\Documents\\writeObjectMethod.txt"");
use_company_arraylist2 = FileIO.readObject("C:\\Users\\Saad\\Documents\\writeObjectMethod.txt");
Сочинение объект кода текстового файла:
public static void writeObject(ArrayList<Employee> array_of_employee, String filename)
{
try{
//create file stream and write array to file using stream using objectoutput stream
FileOutputStream fle = new FileOutputStream("c:\\Users\\Saad\\Documents\\writeObjectMethod.txt");
ObjectOutputStream oos = new ObjectOutputStream(fle);
oos.writeObject(array_of_employee);
oos.close();
fle.close();
}
catch(FileNotFoundException filenotfound)
{
System.out.println("FILE NOTE FOUND");
}
catch(IOException ioerror)
{
System.out.println("input or output error");
}
}//end writeObject
Th е чтение объект из кода текстового файла:
public static ArrayList<Employee> readObject (String filename)
{
ArrayList<Employee> newArrayList = new ArrayList<Employee>();
try
{
FileInputStream readfle = new FileInputStream(filename);
ObjectInputStream readobjectfile = new ObjectInputStream(new BufferedInputStream(readfle));
newArrayList.add((Employee)readobjectfile.readObject());
}
catch(ClassNotFoundException clasnfd)
{
System.out.println("class error?");
}
catch(IOException ioerror)
{
System.out.println("input or output error");
}
return newArrayList;
}//end readObject