序列化对象:
复制代码代码如下:
пакет com.chen.seriaizable;
импортировать java.io.Serializable;
импортировать java.util.List;
@SuppressWarnings("последовательный")
публичный класс Student реализует Serializable
{
частное имя строки;
частный строковый идентификатор;
частный возраст;
частный список студентов <Студент>;
общедоступная строка getName()
{
вернуть имя;
}
public void setName (имя строки)
{
это.имя = имя;
}
общедоступная строка getId()
{
вернуть идентификатор;
}
public void setId (идентификатор строки)
{
this.id = идентификатор;
}
публичный int getAge()
{
возвратный возраст;
}
общественная пустота setAge (int age)
{
this.age = возраст;
}
общедоступный список <Студент> getStudents()
{
вернуть студентов;
}
public void setStudents (Список студентов <Студент>)
{
this.students = студенты;
}
@Override
публичная строка toString()
{
StringBuffer stringBuffer = новый StringBuffer();
stringBuffer.append("id:" + this.id).append("/n");
stringBuffer.append("name:" + this.name).append("/n");
stringBuffer.append("age:" + this.age).append("/n");
вернуть stringBuffer.toString();
}
}
复制代码代码如下:
пакет com.chen.seriaizable;
импортировать java.io.FileInputStream;
импортировать java.io.FileOutputStream;
импортировать java.io.IOException;
импортировать java.io.ObjectInputStream;
импортировать java.io.ObjectOutputStream;
импортировать java.util.ArrayList;
импортировать java.util.List;
открытый класс SaveStudent
{
частный студент студент;
// 序列化文件保存位置
частный строковый путь = "C:/student.Serializable";
общественная пустота writeStudent()
{
Студенты List<Student> = new ArrayList<Student>();
студент = новый студент ();
Студент Студент1 = новый Студент();
студент1.setAge(1);
студент1.setId("1");
Student1.setName("张1");
студенты.добавить(студент1);
Студент Студент2 = новый Студент();
студент2.setAge(2);
студент2.setId("2");
Student2.setName("张2");
студенты.добавить(студент2);
Студент Student3 = новый Студент();
студент3.setAge(3);
студент3.setId("3");
Student3.setName("张3");
студенты.добавить(студент3);
Студент Student4 = новый Студент();
студент4.setAge(4);
студент4.setId("4");
Student4.setName("张4");
Студент Student41 = новый Студент();
студент41.setAge(41);
студент41.setId("41");
Student41.setName("张41");
List<Студент> студенты4 = новый ArrayList<Студент>();
студенты4.добавить(студент41);
студент4.setStudents(студенты4);
студенты.добавить(студент4);
студент.setAge(500);
студент.setId("100");
Student.setName("张A000");
студент.setStudents(студенты);
пытаться
{
ObjectOutputStream objectOutputStream = новый ObjectOutputStream (новый FileOutputStream (путь));
objectOutputStream.writeObject(студент);
objectOutputStream.close();
}
улов (IOException e)
{
// TODO Автоматически сгенерированный блок catch
е.printStackTrace();
}
System.out.println("写完");
}
общественная пустота readStudent()
{
пытаться
{
ObjectInputStream objectInputStream = новый ObjectInputStream (новый FileInputStream (путь));
студент = (Студент) objectInputStream.readObject();
System.out.println(student.getAge());
objectInputStream.close();
}
поймать (Исключение e)
{
е.printStackTrace();
}
System.out.println("Оборудование");
}
@Override
публичная строка toString()
{
читатьСтудент();
StringBuffer stringBuffer = новый StringBuffer (100);
StudentToString (stringBuffer, студент);
вернуть stringBuffer.toString();
}
public void StudentToString (StringBuffer stringBuffer, Student StudentObj)
{
если (студент!= ноль)
{
stringBuffer.append("id:" + StudentObj.toString()).append("/n");
если (studentObj.getStudents() != ноль)
{
stringBuffer.append("/n[/n");
for (Студенческий компонент: StudentObj.getStudents())
{
StudentToString (stringBuffer, bean);
}
stringBuffer.append("/n]/n");
}
}
}
}
Источник:
复制代码代码如下:
пакет com.chen.seriaizable;
тест публичного класса
{
/**
* @param аргументы
*/
public static void main(String[] args)
{
SaveStudent saveStudent = новый SaveStudent();
// 1 先执行写入文件
// saveStudent.writeStudent();
// 2 шага
System.out.println(saveStudent);
System.out.println("Оборудование");
}
}