Como resertar LineNumberReader?

0 respostas
I

Bom dia.

Preciso ler um arquivo texto inteiro e depois relo-lo desde o inicio

Já tentei o esquema do mark() e reset(), mas pelo que percebi, só posso definir um mark depois de iniciado o fluxo, ou seja, ter lido pelo menos um caractere.

declarei dessa forma

File nomeArquivo = new File("entrada.txt");

		try{
			lineReader = new LineNumberReader(new FileReader(nomeArquivo));
		}catch (FileNotFoundException e){
			e.printStackTrace();
		}
		
		String linha = null;
		try{
			lineReader.read();	// so funciona ser ler um caractere e depois definir o mark
			lineReader.mark((int) nomeArquivo.length());
			while((linha = lineReader.readLine()) != null){
				System.out.println(linha);				
			}
			
			lineReader.reset();		
			while((linha = lineReader.readLine()) != null){
				if(!Pattern.matches("^//.*", linha))
					avaliaLinha(linha);				
			}
		}catch (IOException e){			
			e.printStackTrace();
		}

Da forma que está ai em cima funciona, mas na segunda vez que o arquivo é lido, o primeiro caractere é perdido.

Como eu faço para resetar de verdade ? ou seja, reiniciar so zero.

Criado 28 de novembro de 2008
Respostas 0
Participantes 1