没什么好说的,仿课本上的例子,简单易懂。
- package ch09;
- //5、编写一个应用程序,要求将LinkedList<E>创建的对象写入到文件,然后读出一个LinkedList<E>对象,并遍历
- //LinkedList<E>节点中的数据。
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.ObjectInputStream;
- import java.io.ObjectOutputStream;
- import java.io.Serializable;
- import java.util.Iterator;
- import java.util.LinkedList;
- //=======使用对象流写入或读出对象时,要保证对象时序列化的。==========
- class Student implements Serializable{
- private static final long serialVersionUID = 1L;
- private int ID; //学号
- private String name; //姓名
- public Student(int ID,String name){
- this.ID=ID;
- this.name=name;
- }
- public int getID() {
- return ID;
- }
- public void setID(int id) {
- ID = id;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- }
- public class Ch09_5 {
- public static void main(String[] args) {
- LinkedList<Student> students=new LinkedList<Student>();
- Student stu1=new Student(19,"李光地");
- Student stu2=new Student(34,"杨 龙");
- students.add(stu1);
- students.add(stu2);
- try {
- //将对象写入sut.txt文件中。
- FileOutputStream fileOut=new FileOutputStream("stu.txt");
- ObjectOutputStream oos=new ObjectOutputStream(fileOut);
- oos.writeObject(students);
- //将对象从stu.txt文件中读出。
- FileInputStream fileIn=new FileInputStream("stu.txt");
- ObjectInputStream ois=new ObjectInputStream(fileIn);
- LinkedList<Student> allStus=(LinkedList<Student>)ois.readObject();
- //遍历对象,将节点的数据读出。
- Iterator<Student> iter=allStus.iterator();
- while(iter.hasNext()){
- Student te=iter.next();
- System.out.println("ID="+te.getID()+"/tname="+te.getName());
- }
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- }catch (IOException e) {
- e.printStackTrace();
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- }
- }
- }