Fiz um simples código em java para substituir alguns valores do txt se ceras condições forem encontradas entretanto a leitura para na metade do arquivo sem nenhum erro aparente.
Por exemplo tenho uma arquivo com 9000 linhas mas meu arquivo final fica com somente 2137
Segue o código que eu usei.
try {
BufferedReader readerCom = new BufferedReader(new InputStreamReader(new FileInputStream(arquivos[j].getAbsolutePath()), "ISO-8859-1"));
FileWriter o = new FileWriter("c:\\Integração via banco\\final\\" + arquivos[j].getName() + ".txt");
BufferedReader Buffered = new BufferedReader(readerCom);
PrintWriter out = new PrintWriter(o);
while ((linha = Buffered.readLine()) != null) {
try{
tipLinha = this.getString1(linha, 1, 2);
cfop = this.getString1(linha, 11, 12);
}catch (Exception es){
System.out.println(es);
}
try {
if (tipLinha.equals("C170") || tipLinha.equals("C100")) {
if (tipLinha.equals("C170") && ((cfop.equals("5933")) || cfop.equals("6933"))) {
linha = linha.replace("C170", "A170");
out.println(linha);
}
if (tipLinha.equals("C100") && ((cfop.equals("5933")) || cfop.equals("6933"))) {
linha = linha.replace("C100", "A100");
out.println(linha);
}
} else {
out.println(linha);
}
} catch (Exception e) {
System.out.println(e);
}
}
out.flush();
readerCom.close();
o.close();
} catch (Exception x) {
x.printStackTrace();
}
}
Alguém tem ideia do que pode ser?