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, "Cadastro/Clientes cadastrados/" + nome_do_arquivo + ".txt");
// 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() > 0) {
cadastro.println("|=================================Novo Registro=================================|");
}
cadastro.println("Cliente: " + nome + "\r\r\n" + "Endereço: " + endereco + "\r\r\n"
+ "CEP: " + cep + "\r\r\n" + "Cidade: " + cidade + "\r\r\n"
+ "Estado: " + estado + "\r\r\n" + "País: " + pais + "\r\r\n"
+ "CPF: " + cpf + "\r\r\n" + "RG: " + rg + "\r\r\n"
+ "Data de aniversário: " + data_nascimento + "\r\r\n" + "Número de telefone fixo: " + numero_telefone + "\r\r\n"
+ "Número de celular: " + numero_celular + "\r\r\n" + "E-mail: " + 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, "Ocorreu um erro ao cadastrar " + 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.