Olá malmsteen
Você pode utilizar as classes ObjectOutputStream e ObjectInputStream do pacote java.io. Dê uma olhadinha na documentação da Sun que explica legal como usá-las. Com elas, você salva objetos (e depois pode lê-los) em um arquivo, em formato binário, de uma forma que só o Java consegue ler de volta. Ou seja, você só pode ler um arquivo feito pelo ObjectOutputStream com o ObjectInputStream.
Outra maneira, que eu acho mais legal, é salvar em XML. Existe uma biblioteca chamada XStream que faz isso de maneira muuuuuuuuito simples. No site deles tem um tutorial em 5 minutos que ensina você a usar essa biblioteca. Você só precisa aprender a mexer em uma classe nova (XStream :P). É bem simples mesmo. Através de reflection, o XStream pega o nome de todas as propriedades de um objeto (mesmo eles sendo privados!) e os seus valores e salva em um XML. E, claro, você também pode ler.
Por exemplo, se você tem a classe pessoa:
public class Pessoa {
private String nome;
private int idade;
public Pessoa(String nome, int idade) {
this.nome = nome;
this.idade = idade;
}
E depois fez:
Pessoa p = new Pessoa("Cristian", 18);
Ao salvar, ele gera um XML assim:
<Cliente>
<nome>Cristian</nome>
<idade>18</idade>
</Cliente>
É bem interessante mesmo 
Até mais,