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.