Per scrivere/leggere oggetti usa ObjectOutputStream/ObjectInputStream. Gli oggetti che "spedisci" in questo modo devono essere serializzabili (ovvero la loro classe deve implementare java.io.Serializable).