Java tutorial
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; import java.util.Date; public class Main { public static void main(String args[]) throws IOException, ClassNotFoundException { File file = new File("test.txt"); FileOutputStream outFile = new FileOutputStream(file); ObjectOutputStream outStream = new ObjectOutputStream(outFile); TestClass1 t1 = new TestClass1(true, 9, 'A', 0.0001, "java"); TestClass2 t2 = new TestClass2(); String t3 = "This is a test."; Date t4 = new Date(); outStream.writeObject(t1); outStream.writeObject(t2); outStream.writeObject(t3); outStream.writeObject(t4); outStream.close(); outFile.close(); FileInputStream inFile = new FileInputStream(file); ObjectInputStream inStream = new ObjectInputStream(inFile); System.out.println(inStream.readObject()); System.out.println(inStream.readObject()); System.out.println(inStream.readObject()); System.out.println(inStream.readObject()); inStream.close(); inFile.close(); file.delete(); } } class TestClass1 implements Serializable { boolean b; int i; char c; double d; String s; TestClass1(boolean b, int i, char c, double d, String s) { this.b = b; this.i = i; this.c = c; this.d = d; this.s = s; } public String toString() { String r = String.valueOf(b) + " "; r += String.valueOf(i) + " "; r += String.valueOf(c) + " "; r += String.valueOf(d) + " "; r += String.valueOf(s); return r; } } class TestClass2 implements Serializable { int i; TestClass1 tc1; TestClass1 tc2; TestClass2() { i = 0; tc1 = new TestClass1(true, 2, 'j', 1.234, "Java"); tc2 = new TestClass1(false, 7, 'J', 2.468, "JAVA"); } public String toString() { String r = String.valueOf(i) + " "; r += tc1.toString() + " "; r += tc2.toString(); return r; } }