Я пытаюсь сериализовать массив объектов и записать его в файл с именем address.ser, а затем прочитать обратно из файла, десериализовать массив объектов и отобразить его атрибуты. Я попробовал сериализацию всего массива сразу (десериализация его за один сеанс во время чтения), а также попытался последовательно сериализовать каждый объект массива объектов один за другим (десериализация его по одному во время чтения). Проблема в том, что, читая обратно из файла address.ser, я получаю данные только из последнего написанного объекта и никого другого.Сериализация объектов и десериализация с использованием ArrayList в Java
Вот фрагмент кода:
Employee[] a=new Employee[5];
List<Employee> arr=new ArrayList<Employee>();
for(int i=0;i<=4;i++)
{
a[i]=new Employee();
System.out.println("Enter name,age,height,weight,house_no:");
a[i].name=sc.next();
a[i].age=sc.nextInt();
a[i].height=sc.nextDouble();
a[i].weight=sc.nextDouble();
a[i].house_no=sc.nextInt();
arr.add(a[i]);
}
Это фрагмент кода для записи объектов в address.ser:
for(int i=0;i<=4;i++)
{
try
{
fout = new FileOutputStream("e:\\address.ser");
oos = new ObjectOutputStream(fout);
oos.writeObject(a[i]);
//oos.writeChars("\n");
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
oos.close();
fout.close();
}
}
Это фрагмент кода для чтения объектов из address.ser:
List<Employee> recordList=new ArrayList<Employee>();
for(int i=0;i<=4;i++)
{
try
{
file = new FileInputStream("e:\\address.ser");
input = new ObjectInputStream (file);
//deserialize the List
Employee readCase=(Employee) input.readObject();
recordList.add(readCase);
System.out.print("Employee "+i+" ");
System.out.print((recordList.get(i).name)+" ");
System.out.print((recordList.get(i).age)+" ");
System.out.print((recordList.get(i).height)+" ");
System.out.print((recordList.get(i).weight)+" ");
System.out.print((recordList.get(i).house_no)+" ");
System.out.println();
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
file.close();
input.close();
}
}
Конечный результат существо:
Ваш класс Employee распространяется Serializable объект? –
@BhavikAmbani: Тогда никакие элементы не были бы успешно написаны – blackcompe