配列化オブジェクト:
复制番号代番号次のように:
パッケージ com.chen.seriaizable;
java.io.Serializableをインポートします。
java.util.Listをインポートします。
@SuppressWarnings("シリアル")
public クラス Student は Serializable を実装します
{
プライベート文字列名。
プライベート文字列ID;
プライベートの年齢。
private List<Student> 学生;
パブリック String getName()
{
名前を返します。
}
public void setName(文字列名)
{
this.name = 名前;
}
パブリック String getId()
{
ID を返します。
}
public void setId(文字列ID)
{
this.id = ID;
}
public int getAge()
{
年齢を返す。
}
public void setAge(int age)
{
this.age = 年齢;
}
public List<Student> getStudents()
{
帰国生。
}
public void setStudents(List<Student> の学生)
{
this.students = 学生;
}
@オーバーライド
パブリック String toString()
{
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("id:" + this.id).append("/n");
stringBuffer.append("name:" + this.name).append("/n");
stringBuffer.append("年齢:" + 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";
public void writeStudent()
{
List<Student> 学生 = new ArrayList<Student>();
学生 = 新しい学生();
学生 Student1 = 新しい Student();
Student1.setAge(1);
Student1.setId("1");
Student1.setName("张1");
students.add(student1);
学生 Student2 = 新しい Student();
Student2.setAge(2);
Student2.setId("2");
Student2.setName("张2");
students.add(student2);
学生 Student3 = 新しい Student();
Student3.setAge(3);
Student3.setId("3");
Student3.setName("张3");
students.add(student3);
学生 Student4 = 新しい Student();
Student4.setAge(4);
Student4.setId("4");
Student4.setName("张4");
学生 Student41 = 新しい Student();
Student41.setAge(41);
Student41.setId("41");
Student41.setName("张41");
List<Student> students4 = new ArrayList<Student>();
students4.add(student41);
Student4.setStudents(students4);
students.add(student4);
Student.setAge(500);
Student.setId("100");
Student.setName("张A000");
Student.setStudents(学生);
試す
{
ObjectOutputStream objectOutputStream = new ObjectOutputStream(new FileOutputStream(path));
objectOutputStream.writeObject(student);
objectOutputStream.close();
}
catch (IOException e)
{
// TODO 自動生成された catch ブロック
e.printStackTrace();
}
System.out.println("写完");
}
public void readStudent()
{
試す
{
ObjectInputStream objectInputStream = new ObjectInputStream(new FileInputStream(path));
Student = (学生) objectInputStream.readObject();
System.out.println(student.getAge());
objectInputStream.close();
}
catch (例外 e)
{
e.printStackTrace();
}
System.out.println("读完");
}
@オーバーライド
パブリック String toString()
{
readStudent();
StringBuffer stringBuffer = 新しい StringBuffer(100);
StudentToString(stringBuffer, Student);
stringBuffer.toString() を返します。
}
public void StudentToString(StringBuffer stringBuffer, Student StudentObj)
{
if (学生 != null)
{
stringBuffer.append("id:" +studentObj.toString()).append("/n");
if (studentObj.getStudents() != null)
{
stringBuffer.append("/n[/n");
for (学生 Bean :studentObj.getStudents())
{
StudentToString(stringBuffer, Bean);
}
stringBuffer.append("/n]/n");
}
}
}
}
测试类:
复制番号代番号次のように:
パッケージ com.chen.seriaizable;
パブリッククラステスト
{
/**
* @param 引数
*/
public static void main(String[] args)
{
SaveStudent saveStudent = new SaveStudent();
// 1 先行書き込み文書
// saveStudent.writeStudent();
// 2 再读取
System.out.println(saveStudent);
System.out.println("读完");
}
}