[RESOLVIDO] Desserializar obj desconhecido

Galera, eu tenho uma lista numérica (1.txt, 2.txt, 3.txt, etc…) de objetos serializados que é variável. Num determinado momento eu preciso saber quantos objetos eu tenho, então eu fiz dessa forma achando que ao chegar no primeiro número inexistente o método recuperaVendedor retornaria null, mas na hora de usar o método ele dá erro…

Scanner scanner = new Scanner(System.in); SerializadorVendedor serializador = new SerializadorVendedor(); Vendedor vendedor = new Vendedor(); int numDeVendedores; for (int cont=1; ;cont++){ vendedor = serializador.recuperaVendedor (cont+".txt"); if (vendedor == null){ numDeVendedores = cont; break; } } Eu sei que o erro tá no método, só não sei consertar… Eu percebi que o método só retornaria o vendedor == null caso a String do nomeArquivo fosse null. Mas no caso a String não é null e sim correspondente a um objeto inexistente, pois não existe o objeto com aquele nome, e aí como eu faço pra não dar erro? Pra ele retornar o vendedor == null caso o objeto não exista???

//esse é o método da classe SerializadorVendedor
	public Vendedor recuperaVendedor(String nomeArquivo)
	throws IOException, ClassNotFoundException {
	Vendedor vendedor = null;
	if ( nomeArquivo != null ){
	FileInputStream fis = new FileInputStream( nomeArquivo );
	ObjectInputStream ois = new ObjectInputStream( fis );
	vendedor = (Vendedor) ois.readObject();
	ois.close();
	}else{
		return null;
	}
	return vendedor;
	}

Ajuda muito você colocar a exceção que é lançada. Mas pela lógica deve ser uma FileNotFounException. Basta você capturá-la e ignorá-la e retornar null. Porém, existe toda uma problemática em ignorar exceções.

É exatamente essa exceção que dá… como seria isso de capturar e ignorar?? Não tenho problema com isso… como ficaria o código?

É exatamente essa exceção que dá… como seria isso de capturar e ignorar?? Não tenho problema com isso… como ficaria o código?[/quote]

Na verdade, tem um jeito melhor, lembrei agora, você cria um objeto File e verifica se ele existe:

  File arqVend = new File(nomeArquivo);

  if(! arqVend.exists() )
    return null;

É exatamente essa exceção que dá… como seria isso de capturar e ignorar?? Não tenho problema com isso… como ficaria o código?[/quote]

Na verdade, tem um jeito melhor, lembrei agora, você cria um objeto File e verifica se ele existe:

[code]
File arqVend = new File(nomeArquivo);

if(! arqVend.exists() )
return null;
[/code][/quote]

VLW, funfou!!!