<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FFile%2FObject_Serialization</id>
		<title>Java Tutorial/File/Object Serialization - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FFile%2FObject_Serialization"/>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/File/Object_Serialization&amp;action=history"/>
		<updated>2026-04-16T22:38:39Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://jexp.ru/index.php?title=Java_Tutorial/File/Object_Serialization&amp;diff=5290&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/File/Object_Serialization&amp;diff=5290&amp;oldid=prev"/>
				<updated>2010-06-01T05:19:11Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 05:19, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://jexp.ru/index.php?title=Java_Tutorial/File/Object_Serialization&amp;diff=5289&amp;oldid=prev</id>
		<title> в 17:44, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/File/Object_Serialization&amp;diff=5289&amp;oldid=prev"/>
				<updated>2010-05-31T17:44:27Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==  Class combination Serialization ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.ByteArrayInputStream;&lt;br /&gt;
import java.io.ByteArrayOutputStream;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.io.ObjectInputStream;&lt;br /&gt;
import java.io.ObjectOutputStream;&lt;br /&gt;
import java.io.Serializable;&lt;br /&gt;
import java.util.ArrayList;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
class ID implements Serializable {&lt;br /&gt;
}&lt;br /&gt;
class Employee implements Serializable {&lt;br /&gt;
  private String name;&lt;br /&gt;
  private ID myID;&lt;br /&gt;
  Employee(String nm, ID h) {&lt;br /&gt;
    name = nm;&lt;br /&gt;
    myID = h;&lt;br /&gt;
  }&lt;br /&gt;
  public String toString() {&lt;br /&gt;
    return name + &amp;quot;[&amp;quot; + super.toString() + &amp;quot;], &amp;quot; + myID + &amp;quot;\n&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] args) throws IOException, ClassNotFoundException {&lt;br /&gt;
    ID id = new ID();&lt;br /&gt;
    List employees = new ArrayList();&lt;br /&gt;
    employees.add(new Employee(&amp;quot;A&amp;quot;, id));&lt;br /&gt;
    employees.add(new Employee(&amp;quot;B&amp;quot;, id));&lt;br /&gt;
    employees.add(new Employee(&amp;quot;C&amp;quot;, id));&lt;br /&gt;
    System.out.println(&amp;quot;employees: &amp;quot; + employees);&lt;br /&gt;
    ByteArrayOutputStream buf1 = new ByteArrayOutputStream();&lt;br /&gt;
    ObjectOutputStream o1 = new ObjectOutputStream(buf1);&lt;br /&gt;
    o1.writeObject(employees);&lt;br /&gt;
    o1.writeObject(employees); &lt;br /&gt;
    ByteArrayOutputStream buf2 = new ByteArrayOutputStream();&lt;br /&gt;
    ObjectOutputStream o2 = new ObjectOutputStream(buf2);&lt;br /&gt;
    o2.writeObject(employees);&lt;br /&gt;
    ObjectInputStream in1 = new ObjectInputStream(new ByteArrayInputStream(buf1.toByteArray()));&lt;br /&gt;
    ObjectInputStream in2 = new ObjectInputStream(new ByteArrayInputStream(buf2.toByteArray()));&lt;br /&gt;
    List emp1 = (List) in1.readObject(), emp2 = (List) in1.readObject(), emp3 = (List) in2&lt;br /&gt;
        .readObject();&lt;br /&gt;
    System.out.println(&amp;quot;emp1: &amp;quot; + emp1);&lt;br /&gt;
    System.out.println(&amp;quot;emp2: &amp;quot; + emp2);&lt;br /&gt;
    System.out.println(&amp;quot;emp3: &amp;quot; + emp3);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
/*&lt;br /&gt;
*/&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;employees: [A[Employee@126b249], ID@182f0db&lt;br /&gt;
, B[Employee@192d342], ID@182f0db&lt;br /&gt;
, C[Employee@6b97fd], ID@182f0db&lt;br /&gt;
]&lt;br /&gt;
emp1: [A[Employee@750159], ID@1abab88&lt;br /&gt;
, B[Employee@18a7efd], ID@1abab88&lt;br /&gt;
, C[Employee@1971afc], ID@1abab88&lt;br /&gt;
]&lt;br /&gt;
emp2: [A[Employee@750159], ID@1abab88&lt;br /&gt;
, B[Employee@18a7efd], ID@1abab88&lt;br /&gt;
, C[Employee@1971afc], ID@1abab88&lt;br /&gt;
]&lt;br /&gt;
emp3: [A[Employee@16cd7d5], ID@cdedfd&lt;br /&gt;
, B[Employee@1c39a2d], ID@cdedfd&lt;br /&gt;
, C[Employee@bf2d5e], ID@cdedfd&lt;br /&gt;
]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Conditions for Serialization ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;OL&amp;gt;&amp;lt;LI&amp;gt;If a superclass of your class is not serializable, it still may be possible to make your class serializable.&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;Each superclass that is not serializable must have a public default constructor - a constructor with no parameters.&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;Your class must implement the Serializable interface.&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;Your class must serialize and deserialize the not-serializable fields in the superclasses.&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;Transient data type is not serializable.&amp;lt;/LI&amp;gt;&amp;lt;/OL&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Controlling serialization by adding your own ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.ByteArrayInputStream;&lt;br /&gt;
import java.io.ByteArrayOutputStream;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.io.ObjectInputStream;&lt;br /&gt;
import java.io.ObjectOutputStream;&lt;br /&gt;
import java.io.Serializable;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] args) throws IOException, ClassNotFoundException {&lt;br /&gt;
    MyBean sc = new MyBean(&amp;quot;Test1&amp;quot;, &amp;quot;Test2&amp;quot;);&lt;br /&gt;
    System.out.println(&amp;quot;Before:\n&amp;quot; + sc);&lt;br /&gt;
    ByteArrayOutputStream buf = new ByteArrayOutputStream();&lt;br /&gt;
    ObjectOutputStream o = new ObjectOutputStream(buf);&lt;br /&gt;
    o.writeObject(sc);&lt;br /&gt;
    ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(buf.toByteArray()));&lt;br /&gt;
    MyBean sc2 = (MyBean) in.readObject();&lt;br /&gt;
    System.out.println(&amp;quot;After:\n&amp;quot; + sc2);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class MyBean implements Serializable {&lt;br /&gt;
  private String a;&lt;br /&gt;
  private transient String b;&lt;br /&gt;
  public MyBean(String aa, String bb) {&lt;br /&gt;
    a = &amp;quot;Not Transient: &amp;quot; + aa;&lt;br /&gt;
    b = &amp;quot;Transient: &amp;quot; + bb;&lt;br /&gt;
  }&lt;br /&gt;
  public String toString() {&lt;br /&gt;
    return a + &amp;quot;\n&amp;quot; + b;&lt;br /&gt;
  }&lt;br /&gt;
  private void writeObject(ObjectOutputStream stream) throws IOException {&lt;br /&gt;
    stream.defaultWriteObject();&lt;br /&gt;
    stream.writeObject(b);&lt;br /&gt;
  }&lt;br /&gt;
  private void readObject(ObjectInputStream stream) throws IOException, ClassNotFoundException {&lt;br /&gt;
    stream.defaultReadObject();&lt;br /&gt;
    b = (String) stream.readObject();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
/*&lt;br /&gt;
*/&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;Before:&lt;br /&gt;
Not Transient: Test1&lt;br /&gt;
Transient: Test2&lt;br /&gt;
After:&lt;br /&gt;
Not Transient: Test1&lt;br /&gt;
Transient: Test2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Deal with transient in Object Serialization ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.FileInputStream;&lt;br /&gt;
import java.io.FileOutputStream;&lt;br /&gt;
import java.io.ObjectInputStream;&lt;br /&gt;
import java.io.ObjectOutputStream;&lt;br /&gt;
import java.io.Serializable;&lt;br /&gt;
import java.util.Date;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    User a = new User(&amp;quot;A&amp;quot;, &amp;quot;B&amp;quot;);&lt;br /&gt;
    System.out.println(&amp;quot;logon a = &amp;quot; + a);&lt;br /&gt;
    ObjectOutputStream o = new ObjectOutputStream(new FileOutputStream(&amp;quot;User.out&amp;quot;));&lt;br /&gt;
    o.writeObject(a);&lt;br /&gt;
    o.close();&lt;br /&gt;
    Thread.sleep(1000); // Delay for 1 second&lt;br /&gt;
    ObjectInputStream in = new ObjectInputStream(new FileInputStream(&amp;quot;User.out&amp;quot;));&lt;br /&gt;
    System.out.println(&amp;quot;Recovering object at &amp;quot; + new Date());&lt;br /&gt;
    a = (User) in.readObject();&lt;br /&gt;
    System.out.println(&amp;quot;logon a = &amp;quot; + a);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class User implements Serializable {&lt;br /&gt;
  private Date date = new Date();&lt;br /&gt;
  private String username;&lt;br /&gt;
  private transient String password;&lt;br /&gt;
  public User(String name, String pwd) {&lt;br /&gt;
    username = name;&lt;br /&gt;
    password = pwd;&lt;br /&gt;
  }&lt;br /&gt;
  public String toString() {&lt;br /&gt;
    String pwd = (password == null) ? &amp;quot;(n/a)&amp;quot; : password;&lt;br /&gt;
    return &amp;quot;logon info: \n   username: &amp;quot; + username + &amp;quot;\n   date: &amp;quot; + date + &amp;quot;\n   password: &amp;quot;&lt;br /&gt;
        + pwd;&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Only parent class is Serializable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.FileInputStream;&lt;br /&gt;
import java.io.FileOutputStream;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.io.ObjectInputStream;&lt;br /&gt;
import java.io.ObjectOutputStream;&lt;br /&gt;
import java.io.Serializable;&lt;br /&gt;
import java.util.ArrayList;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
import java.util.Random;&lt;br /&gt;
abstract class Shape implements Serializable {&lt;br /&gt;
  public static final int RED = 1, BLUE = 2, GREEN = 3;&lt;br /&gt;
  private int x, y, size;&lt;br /&gt;
  private static Random r = new Random();&lt;br /&gt;
  private static int counter = 0;&lt;br /&gt;
  public abstract void setColor(int newColor);&lt;br /&gt;
  public abstract int getColor();&lt;br /&gt;
  public Shape(int xVal, int yVal, int dim) {&lt;br /&gt;
    x = xVal;&lt;br /&gt;
    y = yVal;&lt;br /&gt;
    size = dim;&lt;br /&gt;
  }&lt;br /&gt;
  public String toString() {&lt;br /&gt;
    return getClass() + &amp;quot;color[&amp;quot; + getColor() + &amp;quot;] xPos[&amp;quot; + x + &amp;quot;] yPos[&amp;quot; + y + &amp;quot;] dim[&amp;quot; + size&lt;br /&gt;
        + &amp;quot;]\n&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class Circle extends Shape {&lt;br /&gt;
  private static int color = RED;&lt;br /&gt;
  public Circle(int xVal, int yVal, int dim) {&lt;br /&gt;
    super(xVal, yVal, dim);&lt;br /&gt;
  }&lt;br /&gt;
  public void setColor(int newColor) {&lt;br /&gt;
    color = newColor;&lt;br /&gt;
  }&lt;br /&gt;
  public int getColor() {&lt;br /&gt;
    return color;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class Square extends Shape {&lt;br /&gt;
  private static int color;&lt;br /&gt;
  public Square(int xVal, int yVal, int dim) {&lt;br /&gt;
    super(xVal, yVal, dim);&lt;br /&gt;
    color = RED;&lt;br /&gt;
  }&lt;br /&gt;
  public void setColor(int newColor) {&lt;br /&gt;
    color = newColor;&lt;br /&gt;
  }&lt;br /&gt;
  public int getColor() {&lt;br /&gt;
    return color;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class Line extends Shape {&lt;br /&gt;
  private static int color = RED;&lt;br /&gt;
  public static void serializeStaticState(ObjectOutputStream os) throws IOException {&lt;br /&gt;
    os.writeInt(color);&lt;br /&gt;
  }&lt;br /&gt;
  public static void deserializeStaticState(ObjectInputStream os) throws IOException {&lt;br /&gt;
    color = os.readInt();&lt;br /&gt;
  }&lt;br /&gt;
  public Line(int xVal, int yVal, int dim) {&lt;br /&gt;
    super(xVal, yVal, dim);&lt;br /&gt;
  }&lt;br /&gt;
  public void setColor(int newColor) {&lt;br /&gt;
    color = newColor;&lt;br /&gt;
  }&lt;br /&gt;
  public int getColor() {&lt;br /&gt;
    return color;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    List shapeTypes, shapes;&lt;br /&gt;
    if (args.length == 0) {&lt;br /&gt;
      shapeTypes = new ArrayList();&lt;br /&gt;
      shapes = new ArrayList();&lt;br /&gt;
      shapeTypes.add(Circle.class);&lt;br /&gt;
      shapeTypes.add(Square.class);&lt;br /&gt;
      shapeTypes.add(Line.class);&lt;br /&gt;
      shapes.add(new Square(4, 3, 200));&lt;br /&gt;
      shapes.add(new Circle(1, 2, 100));&lt;br /&gt;
      shapes.add(new Line(1, 2, 100));&lt;br /&gt;
      ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(&amp;quot;CADState.out&amp;quot;));&lt;br /&gt;
      out.writeObject(shapeTypes);&lt;br /&gt;
      Line.serializeStaticState(out);&lt;br /&gt;
      out.writeObject(shapes);&lt;br /&gt;
    } else {&lt;br /&gt;
      ObjectInputStream in = new ObjectInputStream(new FileInputStream(args[0]));&lt;br /&gt;
      shapeTypes = (List) in.readObject();&lt;br /&gt;
      Line.deserializeStaticState(in);&lt;br /&gt;
      shapes = (List) in.readObject();&lt;br /&gt;
    }&lt;br /&gt;
    System.out.println(shapes);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
/*&lt;br /&gt;
*/&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;[class Squarecolor[1] xPos[4] yPos[3] dim[200]&lt;br /&gt;
, class Circlecolor[1] xPos[1] yPos[2] dim[100]&lt;br /&gt;
, class Linecolor[1] xPos[1] yPos[2] dim[100]&lt;br /&gt;
]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Read a file of objects sequentially and displays each record ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.FileInputStream;&lt;br /&gt;
import java.io.FileOutputStream;&lt;br /&gt;
import java.io.ObjectInputStream;&lt;br /&gt;
import java.io.ObjectOutputStream;&lt;br /&gt;
import java.io.Serializable;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    ObjectOutputStream output = new ObjectOutputStream(new FileOutputStream(&amp;quot;clients.ser&amp;quot;));&lt;br /&gt;
    AccountRecordSerializable record;&lt;br /&gt;
    record = new AccountRecordSerializable(1, &amp;quot;firstName&amp;quot;, &amp;quot;lastName&amp;quot;, 0.1);&lt;br /&gt;
    output.writeObject(record);&lt;br /&gt;
    ObjectInputStream input = new ObjectInputStream(new FileInputStream(&amp;quot;clients.ser&amp;quot;));&lt;br /&gt;
    record = (AccountRecordSerializable) input.readObject();&lt;br /&gt;
    System.out.printf(&amp;quot;%-10d%-12s%-12s%10.2f\n&amp;quot;, record.getAccount(), record.getFirstName(), record&lt;br /&gt;
        .getLastName(), record.getBalance());&lt;br /&gt;
    output.close();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class AccountRecordSerializable implements Serializable {&lt;br /&gt;
  private int account;&lt;br /&gt;
  private String firstName;&lt;br /&gt;
  private String lastName;&lt;br /&gt;
  private double balance;&lt;br /&gt;
  public AccountRecordSerializable() {&lt;br /&gt;
    this(0, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;, 0.0);&lt;br /&gt;
  }&lt;br /&gt;
  public AccountRecordSerializable(int acct, String first, String last, double bal) {&lt;br /&gt;
    setAccount(acct);&lt;br /&gt;
    setFirstName(first);&lt;br /&gt;
    setLastName(last);&lt;br /&gt;
    setBalance(bal);&lt;br /&gt;
  }&lt;br /&gt;
  public void setAccount(int acct) {&lt;br /&gt;
    account = acct;&lt;br /&gt;
  }&lt;br /&gt;
  public int getAccount() {&lt;br /&gt;
    return account;&lt;br /&gt;
  }&lt;br /&gt;
  public void setFirstName(String first) {&lt;br /&gt;
    firstName = first;&lt;br /&gt;
  }&lt;br /&gt;
  public String getFirstName() {&lt;br /&gt;
    return firstName;&lt;br /&gt;
  }&lt;br /&gt;
  public void setLastName(String last) {&lt;br /&gt;
    lastName = last;&lt;br /&gt;
  }&lt;br /&gt;
  public String getLastName() {&lt;br /&gt;
    return lastName;&lt;br /&gt;
  }&lt;br /&gt;
  public void setBalance(double bal) {&lt;br /&gt;
    balance = bal;&lt;br /&gt;
  }&lt;br /&gt;
  public double getBalance() {&lt;br /&gt;
    return balance;&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Reading an Object From a File ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.BufferedInputStream;&lt;br /&gt;
import java.io.BufferedOutputStream;&lt;br /&gt;
import java.io.FileInputStream;&lt;br /&gt;
import java.io.FileOutputStream;&lt;br /&gt;
import java.io.ObjectInputStream;&lt;br /&gt;
import java.io.ObjectOutputStream;&lt;br /&gt;
import java.io.Serializable;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    Junk obj1 = new Junk(&amp;quot;A&amp;quot;);&lt;br /&gt;
    Junk obj2 = new Junk(&amp;quot;B&amp;quot;);&lt;br /&gt;
    Junk obj3 = new Junk(&amp;quot;V&amp;quot;);&lt;br /&gt;
    ObjectOutputStream objectOut = new ObjectOutputStream(new BufferedOutputStream(&lt;br /&gt;
        new FileOutputStream(&amp;quot;C:/JunkObjects.bin&amp;quot;)));&lt;br /&gt;
    objectOut.writeObject(obj1); // Write object&lt;br /&gt;
    objectOut.writeObject(obj2); // Write object&lt;br /&gt;
    objectOut.writeObject(obj3); // Write object&lt;br /&gt;
    objectOut.close(); // Close the output stream&lt;br /&gt;
    ObjectInputStream objectIn = null;&lt;br /&gt;
    int objectCount = 0;&lt;br /&gt;
    Junk object = null;&lt;br /&gt;
    objectIn = new ObjectInputStream(new BufferedInputStream(new FileInputStream(&lt;br /&gt;
        &amp;quot;C:/JunkObjects.bin&amp;quot;)));&lt;br /&gt;
    // Read from the stream until we hit the end&lt;br /&gt;
    while (objectCount &amp;lt; 3) {&lt;br /&gt;
      object = (Junk) objectIn.readObject();&lt;br /&gt;
      objectCount++;&lt;br /&gt;
      System.out.println(object);&lt;br /&gt;
    }&lt;br /&gt;
    objectIn.close();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class Junk implements Serializable {&lt;br /&gt;
  String str;&lt;br /&gt;
  public Junk(String s) {&lt;br /&gt;
    str = s;&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Saving and restoring the state of classes ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.FileInputStream;&lt;br /&gt;
import java.io.FileOutputStream;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.io.ObjectInputStream;&lt;br /&gt;
import java.io.ObjectOutputStream;&lt;br /&gt;
import java.io.Serializable;&lt;br /&gt;
import java.util.ArrayList;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
import java.util.Random;&lt;br /&gt;
abstract class Shape implements Serializable {&lt;br /&gt;
  public static final int RED = 1, BLUE = 2, GREEN = 3;&lt;br /&gt;
  private int x, y, size;&lt;br /&gt;
  private static Random r = new Random();&lt;br /&gt;
  private static int counter = 0;&lt;br /&gt;
  public abstract void setColor(int newColor);&lt;br /&gt;
  public abstract int getColor();&lt;br /&gt;
  public Shape(int xVal, int yVal, int dim) {&lt;br /&gt;
    x = xVal;&lt;br /&gt;
    y = yVal;&lt;br /&gt;
    size = dim;&lt;br /&gt;
  }&lt;br /&gt;
  public String toString() {&lt;br /&gt;
    return getClass() + &amp;quot;color[&amp;quot; + getColor() + &amp;quot;] xPos[&amp;quot; + x + &amp;quot;] yPos[&amp;quot; + y + &amp;quot;] dim[&amp;quot; + size&lt;br /&gt;
        + &amp;quot;]\n&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class Circle extends Shape {&lt;br /&gt;
  private static int color = RED;&lt;br /&gt;
  public Circle(int xVal, int yVal, int dim) {&lt;br /&gt;
    super(xVal, yVal, dim);&lt;br /&gt;
  }&lt;br /&gt;
  public void setColor(int newColor) {&lt;br /&gt;
    color = newColor;&lt;br /&gt;
  }&lt;br /&gt;
  public int getColor() {&lt;br /&gt;
    return color;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class Square extends Shape {&lt;br /&gt;
  private static int color;&lt;br /&gt;
  public Square(int xVal, int yVal, int dim) {&lt;br /&gt;
    super(xVal, yVal, dim);&lt;br /&gt;
    color = RED;&lt;br /&gt;
  }&lt;br /&gt;
  public void setColor(int newColor) {&lt;br /&gt;
    color = newColor;&lt;br /&gt;
  }&lt;br /&gt;
  public int getColor() {&lt;br /&gt;
    return color;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class Line extends Shape {&lt;br /&gt;
  private static int color = RED;&lt;br /&gt;
  public static void serializeStaticState(ObjectOutputStream os) throws IOException {&lt;br /&gt;
    os.writeInt(color);&lt;br /&gt;
  }&lt;br /&gt;
  public static void deserializeStaticState(ObjectInputStream os) throws IOException {&lt;br /&gt;
    color = os.readInt();&lt;br /&gt;
  }&lt;br /&gt;
  public Line(int xVal, int yVal, int dim) {&lt;br /&gt;
    super(xVal, yVal, dim);&lt;br /&gt;
  }&lt;br /&gt;
  public void setColor(int newColor) {&lt;br /&gt;
    color = newColor;&lt;br /&gt;
  }&lt;br /&gt;
  public int getColor() {&lt;br /&gt;
    return color;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    List shapeTypes, shapes;&lt;br /&gt;
    if (args.length == 0) {&lt;br /&gt;
      shapeTypes = new ArrayList();&lt;br /&gt;
      shapes = new ArrayList();&lt;br /&gt;
      shapeTypes.add(Circle.class);&lt;br /&gt;
      shapeTypes.add(Square.class);&lt;br /&gt;
      shapeTypes.add(Line.class);&lt;br /&gt;
      shapes.add(new Square(4, 3, 200));&lt;br /&gt;
      shapes.add(new Circle(1, 2, 100));&lt;br /&gt;
      shapes.add(new Line(1, 2, 100));&lt;br /&gt;
      ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(&amp;quot;CADState.out&amp;quot;));&lt;br /&gt;
      out.writeObject(shapeTypes);&lt;br /&gt;
      Line.serializeStaticState(out);&lt;br /&gt;
      out.writeObject(shapes);&lt;br /&gt;
    } else {&lt;br /&gt;
      ObjectInputStream in = new ObjectInputStream(new FileInputStream(args[0]));&lt;br /&gt;
      shapeTypes = (List) in.readObject();&lt;br /&gt;
      Line.deserializeStaticState(in);&lt;br /&gt;
      shapes = (List) in.readObject();&lt;br /&gt;
    }&lt;br /&gt;
    System.out.println(shapes);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
/*&lt;br /&gt;
*/&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;[class Squarecolor[1] xPos[4] yPos[3] dim[200]&lt;br /&gt;
, class Circlecolor[1] xPos[1] yPos[2] dim[100]&lt;br /&gt;
, class Linecolor[1] xPos[1] yPos[2] dim[100]&lt;br /&gt;
]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Serialization Utilities ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.ByteArrayInputStream;&lt;br /&gt;
import java.io.ByteArrayOutputStream;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.io.ObjectInputStream;&lt;br /&gt;
import java.io.ObjectOutputStream;&lt;br /&gt;
public class SerializationUtils {&lt;br /&gt;
    public static byte[] serialize(Object obj) {&lt;br /&gt;
        try {&lt;br /&gt;
            ByteArrayOutputStream buffer = new ByteArrayOutputStream();&lt;br /&gt;
            ObjectOutputStream oos = new ObjectOutputStream(buffer);&lt;br /&gt;
            oos.writeObject(obj);&lt;br /&gt;
            oos.close();&lt;br /&gt;
            return buffer.toByteArray();&lt;br /&gt;
        } catch (IOException e) {&lt;br /&gt;
            e.printStackTrace();&lt;br /&gt;
            throw new RuntimeException(&amp;quot;error writing to byte-array!&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    public static Object deserialize(byte[] bytes)&lt;br /&gt;
            throws ClassNotFoundException {&lt;br /&gt;
        try {&lt;br /&gt;
            ByteArrayInputStream input = new ByteArrayInputStream(bytes);&lt;br /&gt;
            ObjectInputStream ois = new ObjectInputStream(input);&lt;br /&gt;
            return ois.readObject();&lt;br /&gt;
        } catch (IOException e) {&lt;br /&gt;
            e.printStackTrace();&lt;br /&gt;
            throw new RuntimeException(&amp;quot;error reading from byte-array!&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    public static Object serializedCopy(Object obj) {&lt;br /&gt;
        try {&lt;br /&gt;
            return deserialize(serialize(obj));&lt;br /&gt;
        } catch (ClassNotFoundException e) {&lt;br /&gt;
            throw new RuntimeException(&amp;quot;this shouldn&amp;quot;t happen&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Serialization with ObjectInputStream and ObjectOutputStream ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.FileInputStream;&lt;br /&gt;
import java.io.FileOutputStream;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.io.ObjectInputStream;&lt;br /&gt;
import java.io.ObjectOutputStream;&lt;br /&gt;
class Employee implements java.io.Serializable {&lt;br /&gt;
  public String name;&lt;br /&gt;
  public String address;&lt;br /&gt;
  public transient int SSN;&lt;br /&gt;
  public int number;&lt;br /&gt;
  public void mailCheck() {&lt;br /&gt;
    System.out.println(&amp;quot;Mailing a check to &amp;quot; + name + &amp;quot; &amp;quot; + address);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class SerializeDemo {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    Employee e = new Employee();&lt;br /&gt;
    e.name = &amp;quot;A&amp;quot;;&lt;br /&gt;
    e.address = &amp;quot;B&amp;quot;;&lt;br /&gt;
    e.SSN = 11111;&lt;br /&gt;
    e.number = 101;&lt;br /&gt;
    try {&lt;br /&gt;
      FileOutputStream fileOut = new FileOutputStream(&amp;quot;employee.ser&amp;quot;);&lt;br /&gt;
      ObjectOutputStream out = new ObjectOutputStream(fileOut);&lt;br /&gt;
      out.writeObject(e);&lt;br /&gt;
      out.close();&lt;br /&gt;
      fileOut.close();&lt;br /&gt;
    } catch (IOException i) {&lt;br /&gt;
      i.printStackTrace();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class DeserializeDemo {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    Employee e = null;&lt;br /&gt;
    try {&lt;br /&gt;
      FileInputStream fileIn = new FileInputStream(&amp;quot;employee.ser&amp;quot;);&lt;br /&gt;
      ObjectInputStream in = new ObjectInputStream(fileIn);&lt;br /&gt;
      e = (Employee) in.readObject();&lt;br /&gt;
      in.close();&lt;br /&gt;
      fileIn.close();&lt;br /&gt;
    } catch (IOException i) {&lt;br /&gt;
      i.printStackTrace();&lt;br /&gt;
      return;&lt;br /&gt;
    } catch (ClassNotFoundException c) {&lt;br /&gt;
      System.out.println(&amp;quot;Employee class not found&amp;quot;);&lt;br /&gt;
      c.printStackTrace();&lt;br /&gt;
      return;&lt;br /&gt;
    }&lt;br /&gt;
    System.out.println(&amp;quot;Name: &amp;quot; + e.name);&lt;br /&gt;
    System.out.println(&amp;quot;Address: &amp;quot; + e.address);&lt;br /&gt;
    System.out.println(&amp;quot;SSN: &amp;quot; + e.SSN);&lt;br /&gt;
    System.out.println(&amp;quot;Number: &amp;quot; + e.number);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Serializing Variations on an Object ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.BufferedInputStream;&lt;br /&gt;
import java.io.BufferedOutputStream;&lt;br /&gt;
import java.io.FileInputStream;&lt;br /&gt;
import java.io.FileOutputStream;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.io.ObjectInputStream;&lt;br /&gt;
import java.io.ObjectOutputStream;&lt;br /&gt;
import java.io.Serializable;&lt;br /&gt;
class Data implements Serializable {&lt;br /&gt;
  private int value;&lt;br /&gt;
  public Data(int init) {&lt;br /&gt;
    value = init;&lt;br /&gt;
  }&lt;br /&gt;
  public boolean equals(Object obj) {&lt;br /&gt;
    if (obj instanceof Data &amp;amp;&amp;amp; ((Data) obj).value == value) {&lt;br /&gt;
      return true;&lt;br /&gt;
    }&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  public void setValue(int val) {&lt;br /&gt;
    value = val;&lt;br /&gt;
  }&lt;br /&gt;
  public int getValue() {&lt;br /&gt;
    return value;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    Data data = new Data(1);&lt;br /&gt;
    try {&lt;br /&gt;
      ObjectOutputStream objectOut = new ObjectOutputStream(new BufferedOutputStream(&lt;br /&gt;
          new FileOutputStream(&amp;quot;C:/test.bin&amp;quot;)));&lt;br /&gt;
      objectOut.writeObject(data);&lt;br /&gt;
      System.out.println(&amp;quot;1st Object written has value: &amp;quot; + data.getValue());&lt;br /&gt;
      data.setValue(2);&lt;br /&gt;
      objectOut.writeObject(data);&lt;br /&gt;
      System.out.println(&amp;quot;2nd Object written has value: &amp;quot; + data.getValue());&lt;br /&gt;
      data.setValue(3);&lt;br /&gt;
      objectOut.writeObject(data);&lt;br /&gt;
      System.out.println(&amp;quot;3rd Object written has value: &amp;quot; + data.getValue());&lt;br /&gt;
      objectOut.close();&lt;br /&gt;
    } catch (IOException e) {&lt;br /&gt;
      e.printStackTrace(System.err);&lt;br /&gt;
    }&lt;br /&gt;
    try {&lt;br /&gt;
      ObjectInputStream objectIn = new ObjectInputStream(new BufferedInputStream(&lt;br /&gt;
          new FileInputStream(&amp;quot;C:/test.bin&amp;quot;)));&lt;br /&gt;
      Data data1 = (Data) objectIn.readObject();&lt;br /&gt;
      Data data2 = (Data) objectIn.readObject();&lt;br /&gt;
      Data data3 = (Data) objectIn.readObject();&lt;br /&gt;
      System.out.println(data1.equals(data2));&lt;br /&gt;
      System.out.println(data2.equals(data3));&lt;br /&gt;
      System.out.println(data1.getValue());&lt;br /&gt;
      System.out.println(data2.getValue());&lt;br /&gt;
      System.out.println(data3.getValue());&lt;br /&gt;
      objectIn.close();&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
      e.printStackTrace(System.err);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;1st Object written has value: 1&lt;br /&gt;
2nd Object written has value: 2&lt;br /&gt;
3rd Object written has value: 3&lt;br /&gt;
true&lt;br /&gt;
true&lt;br /&gt;
1&lt;br /&gt;
1&lt;br /&gt;
1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Storing Objects in a File ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.BufferedOutputStream;&lt;br /&gt;
import java.io.FileOutputStream;&lt;br /&gt;
import java.io.ObjectOutputStream;&lt;br /&gt;
import java.io.Serializable;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    Junk obj1 = new Junk(&amp;quot;A&amp;quot;);&lt;br /&gt;
    Junk obj2 = new Junk(&amp;quot;B&amp;quot;);&lt;br /&gt;
    Junk obj3 = new Junk(&amp;quot;V&amp;quot;);&lt;br /&gt;
    ObjectOutputStream objectOut = new ObjectOutputStream(new BufferedOutputStream(&lt;br /&gt;
        new FileOutputStream(&amp;quot;C:/JunkObjects.bin&amp;quot;)));&lt;br /&gt;
    objectOut.writeObject(obj1); // Write object&lt;br /&gt;
    objectOut.writeObject(obj2); // Write object&lt;br /&gt;
    objectOut.writeObject(obj3); // Write object&lt;br /&gt;
    System.out.println(&amp;quot;\n\nobj1:\n&amp;quot; + obj1 + &amp;quot;\n\nobj2:\n&amp;quot; + obj2 + &amp;quot;\n\nobj3:\n&amp;quot; + obj3);&lt;br /&gt;
    objectOut.close(); // Close the output stream&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class Junk implements Serializable{&lt;br /&gt;
  String str;&lt;br /&gt;
  public Junk(String s) {&lt;br /&gt;
    str = s;&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;obj1:&lt;br /&gt;
Junk@c2a132&lt;br /&gt;
obj2:&lt;br /&gt;
Junk@337d0f&lt;br /&gt;
obj3:&lt;br /&gt;
Junk@1e4cbc4&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Writing objects sequentially to a file with class ObjectOutputStream ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.FileOutputStream;&lt;br /&gt;
import java.io.ObjectOutputStream;&lt;br /&gt;
import java.io.Serializable;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    ObjectOutputStream output = new ObjectOutputStream(new FileOutputStream(&amp;quot;clients.ser&amp;quot;));&lt;br /&gt;
    AccountRecordSerializable record;&lt;br /&gt;
    record = new AccountRecordSerializable(1, &amp;quot;firstName&amp;quot;, &amp;quot;lastName&amp;quot;, 0.1);&lt;br /&gt;
    output.writeObject(record);&lt;br /&gt;
    output.close();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class AccountRecordSerializable implements Serializable {&lt;br /&gt;
  private int account;&lt;br /&gt;
  private String firstName;&lt;br /&gt;
  private String lastName;&lt;br /&gt;
  private double balance;&lt;br /&gt;
  public AccountRecordSerializable() {&lt;br /&gt;
    this(0, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;, 0.0);&lt;br /&gt;
  }&lt;br /&gt;
  public AccountRecordSerializable(int acct, String first, String last, double bal) {&lt;br /&gt;
    setAccount(acct);&lt;br /&gt;
    setFirstName(first);&lt;br /&gt;
    setLastName(last);&lt;br /&gt;
    setBalance(bal);&lt;br /&gt;
  }&lt;br /&gt;
  public void setAccount(int acct) {&lt;br /&gt;
    account = acct;&lt;br /&gt;
  }&lt;br /&gt;
  public int getAccount() {&lt;br /&gt;
    return account;&lt;br /&gt;
  }&lt;br /&gt;
  public void setFirstName(String first) {&lt;br /&gt;
    firstName = first;&lt;br /&gt;
  }&lt;br /&gt;
  public String getFirstName() {&lt;br /&gt;
    return firstName;&lt;br /&gt;
  }&lt;br /&gt;
  public void setLastName(String last) {&lt;br /&gt;
    lastName = last;&lt;br /&gt;
  }&lt;br /&gt;
  public String getLastName() {&lt;br /&gt;
    return lastName;&lt;br /&gt;
  }&lt;br /&gt;
  public void setBalance(double bal) {&lt;br /&gt;
    balance = bal;&lt;br /&gt;
  }&lt;br /&gt;
  public double getBalance() {&lt;br /&gt;
    return balance;&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>