Fiz um código que le uma linha e pega apenas alguns valores se uma condição for satisfeita.
Mas está gerando um erro, ele nao varre até o final do arquivo.
o código é este:
package coleta.control;
import java.io.*;
import java.util.Random;
public class TestaStreams{
public static void main (String[] args) throws IOException{
//Lendo e imprimindo linhas de um arquivo-texto para a console:
FileReader reader = new FileReader("log6.txt");
BufferedReader br = new BufferedReader(reader);
String linha;
//int linhasLidas = 0;
while ((linha = br.readLine())!= null ){
//System.out.println(linha);
String[] items = linha.split(",");
for (int i = 0; i < items.length; i++){
if(items[i].equals("104"))
{
System.out.println(items[i+1]);
System.out.println(items[i+2]);
System.out.println(items[i+3]);
System.out.println(items[i+4]);
}
//linhasLidas++;
}
System.out.println();
}
}
E ele gera o seguinte erro:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 7
at coleta.control.TestaStreams.main(TestaStreams.java:31)
System.out.println(items[i+4]);
o programa roda normal.
me ajudem por favor.