Olá. Ao fazer o “split” das linhas do arquivo TXT, surge um caracter estranho logo no início da 1ª linha lida. Isto está impedindo a contagem correta dos dados (parte final de cada linha. P.Ex.: Tenho 9 linhas e a rotina só conta 8, ou seja, só conta a partir da linha 2 em diante. Não sei como resolver.
Estrutura do arquivo txt:
PALAVRA1#100#Dica_01#-20#Dica_02#-30#Dica_03#-50#1
PALAVRA2#100#Dica_01#-10#Dica_02#-30#Dica_03#-40#1
PALAVRA3#100#Dica_01#-30#Dica_02#-30#Dica_03#-30#2
PALAVRA4#100#Dica_01#-20#Dica_02#-30#Dica_03#-50#1
PALAVRA5#100#Dica_01#-10#Dica_02#-20#Dica_03#-40#3
PALAVRA6#100#Dica_01#-10#Dica_02#-20#Dica_03#-30#3
PALAVRA7#100#Dica_01#-10#Dica_02#-20#Dica_03#-40#2
PALAVRA8#100#Dica_01#-30#Dica_02#-20#Dica_03#-40#1
PALAVRA9#100#Dica_01#-20#Dica_02#-20#Dica_03#-40#3
Rotina de Leitura e contagem:
//=============================
public void ContarNiveis() {
if (lblnCategorias.getText()!="00000") {
try {
File f = new File(caminho + "//" + ComboCategoria.getSelectedItem() + ".txt");
FileReader fr = new FileReader(f);
BufferedReader bfr = new BufferedReader(fr);
matNivel.clear(); //limpa o temporaio que aramzena o nível
int n = 0; String valor = null;
while (bfr.ready()) { //ler até o final do arquivo
matNivel.add(bfr.readLine());
qtdeNiveis++; n++;
}
String linha = null;
qtdeNiveis = 0; facil = 0; medio = 0; dificil = 0;
for (int i=0;i <= matNivel.size();i++) {
linha = (String)matNivel.get(i);
String colunas[] = linha.split("#");
String dado = colunas[8];
if ( dado.equals("1")) {
facil++; }
if ( dado.equals("2")) {
medio++; }
if ( dado.equals("3")) {
dificil++; }
}
lblmsgJogador.setVisible(true);
if ((facil + medio + dificil) < 0) {
lblmsgJogador.setForeground(Color.red);
lblmsgJogador.setText(NomeJogador + " este não parece ser arquivo de Palvras!");
} else {
lblmsgJogador.setForeground(Color.white);
lblmsgJogador.setText(NomeJogador + " escolha o Nível (Fácil, Médio ou Difícil)");
lblFacil.setText(df.format(facil));
lblMedio.setText(df.format(medio));
lblDificil.setText(df.format(dificil));
controlaBtnNivel();
}
lblnPalavras.setText(df.format(qtdeNiveis ));
}
catch(IOException ex) {
System.out.println("Erro: "+ ex.toString());
}
}
}
//=============================
Obrigado por qualquer ajuda, ou dica para resolver.