Olá pessoal, em minha aplicação (trecho abaixo), leio os dados de um arquivo txt com 4 colunas e várias linhas, armazeno-os em um string e depois os transforme em double para plotar em um grafico… Bom, uso o metodo readLine(), mas queria que ele não lesse a primeira linha i.e., começasse da segunda linha …
Alguém tem um dica? Muito obrigado …
Tudo bem, o programa já está lendo, mas como faço para jogar a linha fora?
Acho que deveria fazê-lo quando mando o programa separar por , (linha.split("\,") ou quando mando adicionar as colunas em series1 (mandando ele nao adicionar as duas primeiras) mas não estou conseguindo …
Cara, não sei se eu entendi direito, mas se você está querendo simplesmente jogar fora o conteúdo da primeira linha lida, por que você simplesmente não faz uma chamada ao método readLine() e não guarda o resultado?
Tipo assim:
bf.readLine(); // acrescente essa linha de código
for (int L =1;L<200;L++){
linha = bf.readLine(); // bf é um BufferedReader
System.out.println(linha);
//elemento = linha.split("[\\s]+");
elemento = linha.split("\\,");
coluna1 = Double.parseDouble(elemento[0]);
coluna2 = Double.parseDouble(elemento[1]);
//coluna3 = Double.parseDouble(elemento[2]);
//coluna4 = Double.parseDouble(elemento[4]);
series1.add(coluna1,coluna2);
}
dataset.addSeries(series1);
Olá kaique, o que eu estava querendo era justamente isso: jogar a 1a linha fora . Sua dica funcionou sim, mas, para falar a verdade não entendi porque … Valeu, vc me ajudou bastante, tava há um tempão tentando fazer isso…
Cara, to chutando aqui uma resposta, mas o que deve acontecer é que essa classe, BufferedReader, deve ter um controle interno de quantos bytes foram lidos. Quando você manda ler uma linha, acho que ele vai lendo bytes até encontrar a sequência “\r\n”. Nesse momento ele tem guardado a quantidade de bytes já lidos, aí quando você chama novamente o readLine(), a classe começa a ler os bytes de onde parou…
Deu pra entender ou me enrolei demais? hehehe