Serializar objetos

1 resposta
ZeTripe

Gostaria de uma ajudo no primeiro método que é cadastrar um novo contato
do jeito que está, ele gera essa exeção

Exception in thread "main" java.io.EOFException
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at aula67SerializaçãoTransient.CadastrandoContatos.main(CadastrandoContatos.java:44)

Gostaria de saber porque? e como resolve-la, se alguem puder ajudar ficaria grato ! Estou começando em java intão ainda tenho essa dúvidas, Obg desde já

public class CadastrandoContatos {

	/**
	 * @param args
	 * @throws FileNotFoundException 
	 */
	public static void main(String[] args) throws Exception { 
		
		Contato linha = new Contato();
		int opcao=0;
		FileOutputStream endEscrita = new FileOutputStream("C:/Banco/TesteContato.ser");
		ObjectOutputStream escObj = new ObjectOutputStream(endEscrita);
		FileInputStream endLeitor = new FileInputStream("C:/Banco/TesteContato.ser");
		ObjectInputStream leitorObj = new ObjectInputStream(endLeitor);
		ArrayList<Contato> listaContato = new ArrayList<>();
		
		menu:
		do {
			opcao = Integer.parseInt(JOptionPane.showInputDialog("0- Sair \n1- para cadastrar e escrever contato \n2- listar"));
				
			switch (opcao) {
			case 0:
				break menu;
			case 1:
				
				listaContato.clear();
				
				Contato contato1 = new Contato(JOptionPane.showInputDialog("Digite o nome"),JOptionPane.showInputDialog("Telefone"),
				JOptionPane.showInputDialog("Celular"), JOptionPane.showInputDialog("Digite o E-mail"));
				
				while((linha = (Contato) leitorObj.readObject()) != null){
					listaContato.add(linha);
					System.out.println(linha);		
				}
			
				for (Contato contato : listaContato) {
					escObj.writeObject(contato);
					System.out.println(contato);
				}
					
				continue menu;
			case 2:
				continue menu;
			default:
				continue menu;
			}
				
		} while (true);
		
		
	}}

1 Resposta

Mikhas

Tente primeiro escrever e depois ler os contatos do arquivo.

Criado 14 de julho de 2012
Ultima resposta 15 de jul. de 2012
Respostas 1
Participantes 2