galera, to lendo arquivos de remessa, pra quem já trabalho com .REM …
quando ele retorna, ele le 2750 linhas das 2790 e no meio da 2751 ele gera uma exception e da erro :shock:
BufferedWriter teria então algum problema? tem outra maneira de fazer isso?
code:
public String recebe() throws IOException {
File localUpado = local.getFile();
String localNome = local.getFileName();
String localPath = localUpado.getPath();
// CRIA PASTA REPOSITORIO
File localSalva = new File("c:\ArquivoRetorno\");
if(localSalva.exists() == false){
localSalva.mkdir();
}
try{
// LEITOR DO ARQUIVO
FileReader reader = new FileReader(localPath);
BufferedReader leitor = new BufferedReader(reader);
// ESCREVER ARQUIVO
String localSalvar = localSalva +"\"+ localNome+".RST";
String localSalvarT = localSalvar.replace(".REM", "");
FileWriter Escrito = new FileWriter(localSalvarT);
BufferedWriter buffer = new BufferedWriter(Escrito);
String linha = "";
while ((linha = leitor.readLine())!=null){
String identificacaoRegistro = linha.substring(0,1);
String agenciaDebito = linha.substring(1,6);
String digitoAgenciaDebito = linha.substring(6,7);
String razaoContaCorrente = linha.substring(7,12);
String contaCorrente = linha.substring(12,19);
String digitoContaCorrente = linha.substring(19,20);
String identificacaoEmpresa = linha.substring(20,37);
String numeroControleParti = linha.substring(37,62);
String codigoDoBanco = linha.substring(62,65);
String campoMulta = linha.substring(65,66);
String percentualMulta = linha.substring(66,70);
String identificacaoTitulo = linha.substring(70,81);
String digitoAutoConferencia = linha.substring(81,82);
String descontoBonificacao = linha.substring(82,92);
String condicaoEmicao = linha.substring(92,93);
String identEmissaoPapelata = linha.substring(93,94);
String identOperacaoBanco = linha.substring(94,104);
String identOperacaoRateio = linha.substring(104,105);
String enderecoDebitoAutom = linha.substring(105,106);
String identOcorrencia = linha.substring(108,110);
String numeroDocumento = linha.substring(110,120);
String dataVencimentoTitulo = linha.substring(120,126);
String valorTitulo = linha.substring(126,139);
String bancoEncarregadoCob = linha.substring(139,142);
String agenciaDepositaria = linha.substring(142,147);
String especieTitulo = linha.substring(147,149);
String identificacao = linha.substring(149,150);
String dataEmissaoTitulo = linha.substring(150,156);
String dataLimiteDesconto = linha.substring(173,179);
String indetificaTipoInscri = linha.substring(218,220);
String numeroInscricao = linha.substring(220,234);
String nomeSacado = linha.substring(234,274);
String enderecoSacado = linha.substring(274,314);
String cep = linha.substring(326,334);
String numeroDaSequencia = linha.substring(394,400);
String enviaProTexto =
identificacaoRegistro+"/" +
agenciaDebito +"/" +
digitoAgenciaDebito +"/" +
razaoContaCorrente +"/"+
contaCorrente+"/"+
digitoContaCorrente+"/"+
identificacaoEmpresa+"/"+
numeroControleParti+"/"+
codigoDoBanco+"/"+
campoMulta+"/"+
percentualMulta +"/"+
identificacaoTitulo+"/"+
digitoAutoConferencia+"/"+
descontoBonificacao+"/"+
condicaoEmicao+"/"+
identEmissaoPapelata+"/"+
identOperacaoBanco+"/"+
identOperacaoRateio+"/"+
enderecoDebitoAutom+"/"+
identOcorrencia+"/"+
numeroDocumento+"/"+
dataVencimentoTitulo+"/"+
valorTitulo+"/"+
bancoEncarregadoCob+"/"+
agenciaDepositaria+"/"+
especieTitulo+"/"+
identificacao+"/"+
dataEmissaoTitulo+"/"+
dataLimiteDesconto+"/"+
indetificaTipoInscri+"/"+
numeroInscricao+"/"+
nomeSacado+"/"+
enderecoSacado+"/"+
cep+"/"+
numeroDaSequencia+"/";
buffer.newLine();
buffer.write(enviaProTexto);
}
buffer.close();
}
catch (Exception e) {
}
return "ok";
}