2015-12-01 4 views
0

Первое, что я сделал, это написать 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 

ответ

0

Объект типа Arraylist не может быть преобразован в объект класса Employee.

Это будет работать ArrayList list = new ArrayList(); list.add (новый сотрудник());

// for writing arraylist object to file 
new ObjectOutputStream(new FileOutputStream(new File("a.txt"))).writeObject(list); 

// for reading array list from file 
ArrayList<Employee> anotherList = (ArrayList<Employee>) new ObjectInputStream(new FileInputStream(new File("a.txt"))).readObject(); 

System.out.println(anotherList.size()); 
Смежные вопросы