Amigos,
bom dia!
Tenho a necessidade de ler um arquivo TXT como um LOOP mas só estou conseguindo ler a primeira vez, ele não esta repetindo o processo, entenderam?
A idéia é fazer uma "simulação" da entrada de dados pela porta serial, só que ao inves de ter o "componente" conectado a porta para a entrada de dados vou
simular que o componente esteja enviando esses dados lendo de um arquivo txt o mesmo conteúdo repetidas vezes...
Espero que tenha me expressado bem.
Agradeço quem puder me ajudar...
Estou usando THREADS, ou tentando pelo menos.
Meu código: =================================================================================================public class LeArquivo extends Thread {
private File filename;
private ComunicadorSerial comSerial;
private FileReader reader;
private BufferedReader leitor;
// a classe le dados pela porta serial (será simulado que os dados do arquivo em questão estejam vindo da porta serial!!!)
// a partir dessa leitura eu vou trabalhar os dados lidos depois.
public LeArquivo(File filename, ComunicadorSerial comSerial) {
this.filename = filename;
this.comSerial = comSerial;
}
@Override
@SuppressWarnings("CallToThreadDumpStack")
public void run() {
while (this.isInterrupted() == false) {
String palavra = "";
Simulador.txtArquivo.setText(""); // nesta linha eu apresento os dados lidos em uma textArea na tela do meu projeto.
try {
reader = new FileReader(filename);
leitor = new BufferedReader(reader);
while (leitor.ready()) {
int caracter = leitor.read();
palavra = String.valueOf(caracter);
while (palavra != " ") {
palavra = palavra + palavra;
Simulador.txtArquivo.append(palavra + " \n ");
}
}
reader = new FileReader(filename);
leitor = new BufferedReader(reader);
} catch (IOException e) {
e.printStackTrace();
}
}
try {
leitor.close();
reader.close();
} catch (IOException ex) {
Logger.getLogger(LeArquivo.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
Meu arquivo.txt está assim:
========================
abcdef ghijkl mnopqr stuvwx yz
repete1
abcdef ghijkl mnopqr stuvwx yz
repete2
abcdef ghijkl mnopqr stuvwx yz
repete3
abcdef ghijkl mnopqr stuvwx yz
repete4
abcdef ghijkl mnopqr stuvwx yz
repete5
abcdef ghijkl mnopqr stuvwx yz
repete6
========================
Sendo que a saída (netBeans) esta assim:
Obs.: Encurtei o tamanho da saída...
================================================================================================
9797
97979797
9797979797979797
97979797979797979797979797979797
9797979797979797979797979797979797979797979797979797979797979797
97979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797
97979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797
CONSTRUÍDO COM SUCESSO (tempo total: 27 segundos)
================================================================================================