Preciso de ajuda com serialização e desserialização

Sou iniciante em java, fiz um programinha para “cadastrar peças em um estoque”
mais nahora de salvar/serializar não me saí bem!

quero seriaizar um ArrayList de objetos “estoque” (estoklista):

public void salve(){
FileOutputStream file = new FileOutputStream(“estoque.ser”);
ObjectOutputStream oos = new ObjectOutputStream(file);
oos.writeObject(estoklista);
oos.close();
}

public void leia(){
FileInputStream fis = new FileInputStream(“estoque.ser”);
ObjectInputStream ois = new ObjectInputStream(fis);
ArrayList estoklista = (ArrayList ) ois.readObject();
ois.close();
}

o que pode estar errado?
vlw

Qual o erro?

ArrayList<estoque>// não seria Estoque com letra 'E' maiúscula por se tratar de classe ?

Outra coisa, não estou vendo o devido tratamento das exceções, pois está utilizando API’s de IO em conjunto com recursos do SO e com isso muitos erros podem vir á ocorrer.
Dica: utilize as tags “code” de abertura e fechamento do menu e insira o código Java dentro.

O erro deve ser por que você tem de usar try e cath para operações que podem dar erro, por exemplo, você quer salvar uma informação importante, aí o programa vai e dar erro e nem lhe apresenta a mensagem de erro, você acha que está salva a informação, e quando vai ver não está, como você fica? R= morrendo e raiva, rsrs.
Veja um exemplo:

[code]try {
File file = new File("Cadastro/Clientes cadastrados/" + nome_do_arquivo + ".txt");
// verifica se o arquivo existe
if (!file.exists()) {
// se não existir cria o arquivo
file.createNewFile();
}

            JOptionPane.showMessageDialog(null, &quot;Cadastro/Clientes cadastrados/&quot; + nome_do_arquivo + &quot;.txt&quot;);  
            // cria um arquivo com append true para garantir a  
            // persistência dos dados anteriores  
            FileWriter writer = new FileWriter(file, true);  
            PrintWriter cadastro = new PrintWriter(writer);  
            // aqui diz que, se o arquivo for maior quer 0, significa que já existe dados nele, então para não sobrescrever o arquivo, adicione |==Novo registro==| 
            if (file.length() &gt; 0) {  
                cadastro.println(&quot;|=================================Novo Registro=================================|&quot;);  
            }  
            cadastro.println(&quot;Cliente: &quot; + nome + &quot;\r\r\n&quot; + &quot;Endereço: &quot; + endereco + &quot;\r\r\n&quot; 
			                 + &quot;CEP: &quot; + cep + &quot;\r\r\n&quot; + &quot;Cidade: &quot; + cidade + &quot;\r\r\n&quot; 
							 + &quot;Estado: &quot; + estado + &quot;\r\r\n&quot; + &quot;País: &quot; + pais + &quot;\r\r\n&quot; 
							 + &quot;CPF: &quot; + cpf + &quot;\r\r\n&quot; + &quot;RG: &quot; + rg + &quot;\r\r\n&quot;  
                             + &quot;Data de aniversário: &quot; + data_nascimento + &quot;\r\r\n&quot; + &quot;Número de telefone fixo: &quot; + numero_telefone + &quot;\r\r\n&quot; 
							 + &quot;Número de celular: &quot; + numero_celular + &quot;\r\r\n&quot; + &quot;E-mail: &quot; + email);  
            // descarrega garantindo que a ultima entrada no buffer será  
            // gravada  
            cadastro.flush();  
            cadastro.close();
          //agora que o tratamento de erros entra em ação, se não der para salvar, ele avisa                  
        } catch (IOException ex) {  
            ex.printStackTrace();  
            JOptionPane.showMessageDialog(null, &quot;Ocorreu um erro ao cadastrar &quot; + nome);  
        } catch (Exception ex) {  
            ex.printStackTrace();  
        }

[/code]

você pode ver outro tratamento d erro na leitura do arquivo, segue meu programa em anexo.
Só avisando, o programa tem que está numa pasta onde tenha uma outra pasta Cadastro/Clientes cadastrados/ para ele poder salvar as informações.

IOException: java.io.NotSerializableException: estoque

Na sua classe estoque coloque assim

public class estoque implements Serializable

Feito!