Pessoal, boa tarde!
Estou usando o FileReader e o FileWriter para gerar um arquivo texto da seguinte maneira, o FileReader le o arquivo e na sequencia é feito o trtamento necessario e o FileWrite ja ecreve a linha tratada em um novo arquivo, porem nesse novo arquivo ele põe uma linha a mais.
Segue o codigo pra entenderem melhor:
BufferedReader in = null;
BufferedWriter out = null;
try {
in = new BufferedReader(new FileReader(dirProcessamento+nomeDoArquivo));
out = new BufferedWriter(new FileWriter(dirSaida+nomeDoArquivo, true));
while ((linhaAtualParaTratamento = in.readLine()) != null) {
ni_idtcartao = Integer.parseInt(linhaAtualParaTratamento.substring(19,29));
ni_idcarlog = Integer.parseInt(linhaAtualParaTratamento.substring(29,47));
dt_validadeanterior = linhaAtualParaTratamento.substring(47,55).trim();
dt_validadeposterior = linhaAtualParaTratamento.substring(55,63).trim();
dt_revalidacao = linhaAtualParaTratamento.substring(63,71).trim();
dt_processamento = linhaAtualParaTratamento.substring(71,79).trim();
GUsUSER = linhaAtualParaTratamento.substring(79,89).trim();
GLcCod = linhaAtualParaTratamento.substring(89,94).trim();
GUsNOME = linhaAtualParaTratamento.substring(94,114).trim();
GLcDsc = linhaAtualParaTratamento.substring(114,154).trim();
String sqlLoader = ni_idtcartao +"|"
+ni_idcarlog +"|"
+dt_validadeanterior +"|"
+dt_validadeposterior+"|"
+dt_revalidacao +"|"
+dt_processamento +"|"
+GUsUSER +"|"
+GLcCod +"|"
+GUsNOME +"|"
+GLcDsc;
// out.write(sqlLoader + "\n");
out.write(sqlLoader);
}
} catch (FileNotFoundException e) {
ll_Retorno = 2;
System.err.println("Erro na tentativa de abrir o arquivo");
} catch (IOException ex) {
ll_Retorno = 3;
System.err.println("Erro na escrita do arquivo");
} finally {
if (in != null && out != null) {
try {
in.close();
out.close();
} catch (IOException e) {
ll_Retorno = 4;
e.printStackTrace();
}
}
}
Como voces podem ver eu estava usando o out.write(sqlLoader + “\n”) que gera a linha a mais no fim do arquivo, então passei a usar o out.write(sqlLoader) mas ai ele escreve tudo numa linha só e preciso linha por linha…
Alguem tem uma sugestão???
Valeu…