Pessoal,
Não consegui me expressar melhor no campo assunto do tópico mas vou tentar explicar.
To criando um programinha pra fazer a leitura de um arquivo txt. Até aí consegui fazer a leitura deste arquivo, só que tenho que tirar o “;” de cada linha. Fiz um código aqui e até tirou mas preciso melhorar mas estou precisando de uma ajudinha.
Pra melhorar, segue arquivo txt:
AAA ;5103542 ;BHE ;33320392 ;5 MBPS ;05;00003181872974;OK
BBB ;5108920 ;BHE ;33441151 ;5 MBPS ;05;00003181872983;OK
CCC ;5110488 ;BHE ;33833527 ;5 MBPS ;05;00003181872992;OK
DDD ;5110553 ;BHE ;33831204 ;5 MBPS ;05;00003181873009;OK
EEE ;5111763 ;BHE ;34417800 ;5 MBPS ;05;00003181873018;OK
FFF ;5112206 ;BHE ;32961465 ;5 MBPS ;05;00003181873027;OK
GGG ;5115725 ;BHE ;34619962 ;5 MBPS ;05;00003181873036;OK
HHH ;5118343 ;BHE ;33733412 ;5 MBPS ;05;00003181873045;OK
Eu tenho que tirar esses “;” e depois quebrar essas linhas para que elas virem colunas. Tipo:
Linha 1: [AAA], [5103542], [BHE], [33320392], [5 MBPS], [05], [00003181872974], [OK]
Acima tenho 8 campos ou colunas.
Dúvida nº1: Como faço pra melhorar o código pra retirar os “;”?
Dúvida nº2: Como faço pra quebrar essas linhas e transformá-las em campos?
Segue meu código:
public class LerArquivo {
public static void main(String[] args) {
LerArquivo la = new LerArquivo();
try {
la.ler();
} catch (IOException e) {
e.printStackTrace();
}
}
public void ler() throws IOException{
FileReader reader = new FileReader("D:\\STC0_A001D_MIGRADOR_S4801020110122[1].txt");
BufferedReader buf = new BufferedReader(reader);
String linha;
String newString = "";
while ((linha = buf.readLine()) != null){
for (int i=0; i<linha.length();i++){
if(linha.contains("OK")){
if(linha.charAt(i) == ';'){
newString += " ";
} else {
newString += linha.charAt(i);
}
}
}
System.out.println(newString);
}
reader.close();
}
OBS: Na linha de código “if(linha.contains(“OK”))” é pq nesse arquivo txt, tem outros status e eu quis filtrar só por OK pra fazer a leitura.
Desde já agradeço.