Metodo semelhante ao hasNext() da classe Scanner no ObjectInputStream

6 respostas Resolvido
W

Galera, olhei no Javadoc mais não vi nenhuma classe que tenha função semelhando ao hasNext do Scanner, nesse caso como eu faria?

6 Respostas

Dragoon

O que você precisa fazer?
Qual é o seu código até o momento?
Tem erros, se sim quais ?

W

Preciso salvar objetos de uma ArrayList em arquivo e quando iniciar o programa transferir do arquivo para a ArrayList, a primeira parta já consegui fazer, porém pra transferir do arquivo para a ArrayList tenho que especificar um parêmetro no while que seja verdadeiro até que não tenha mais objetos no arquivo.

Dragoon

dá uma lida: http://www.devmedia.com.br/lendo-dados-de-txt-com-java/23221
e http://blog.caelum.com.br/lendo-arquivos-texto-em-java/

W

Dragoon vlw pelos links, mais na verdade eu queria ler um objeto de um arquivo usando o ObjectInputStream. Vou colocar aqui a parte do código referente pra vê se ajuda:

public void recuperaLista(List<Acoes> lista) throws IOException, ClassNotFoundException{
		InputStream is =new FileInputStream("objetos salvos");
		ObjectInputStream ois=new ObjectInputStream(is);
		Acoes acao=(Acoes)ois.readObject();
		while(**Enquanto o arquivo possuir objetos**){
			lista.add(acao);
		}

Se eu estivesse usando o Scanner poderia utilizar o hasNext para verificar se o arquivo tem mais uma linha, porém estou trabalhando com objetos e utilizando a classe ObjectInputStream, o que eu queria era saber algum modo ou método semelhante ao hasNext para poder usar ali no while.

Dragoon
Solucao aceita

Processo semelhante!

Contato[] registro = new Contato[10];
while (reader.readObject() != null) {
    registro[i] = reader.readObject;
}
W

Obrigado Dragoon!! o “!=null” me atendeu,=).

Criado 22 de agosto de 2016
Ultima resposta 22 de ago. de 2016
Respostas 6
Participantes 2