Olá pessoal, estou gerando alguns arquivos em Java mas estou tendo alguns problemas:
O primeiro é sobre um arquivo que deve ser enviado para CAIXA ECONOMICA FEDERAL (SEFIP), talvez alguém já tenha trabalhado com isso. O que acontece é que quando eu gero o arquivo tendo o servidor da aplicação e do banco de dados rodando em minha máquina (windows), não dá problema algum - o aplicativo da CAIXA que faz a validação do arquivo não acusa problema algum.
Agora, quando eu gero o mesmo arquivo a partir de um servidor linux, o validador da CAIXA não reconhece mais este aquivo, eu tenho que abri-lo no WORDPAD e mandar salvar como “Arquivo MS-DOS” para que ele possa ser lido pelo validador. Alguém sabe o porquê isto estar acontecendo? A seguir o trecho de código de como estou criando o arquivo:
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("SEFIP.RE"), "ASCII"));
Minha segunda dúvida é sobre um arquivo bancário para pagamento de salários. Estou gerando um arquivo de pagamento para o Banco Itaú, mas o validador online do banco estava recusando meu arquivo pois estava faltando uma linha em branco no final deste arquivo. Comecei a gerar este arquivo com uma linha em branco no final mas o problema persistiu, até que descobri que o que estava faltando era, na verdade, um Enter no final.
Como é que eu insiro um Enter na gravação do arquivo? Lembrando que este arquivo vai ser gerado em um servidor Linux. A seguir um trecho de como eu estava inserindo esta nova linha ao final do arquivo:
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("nome_do_arquivo.txt"), "ASCII"));
writer.write("DADOS DA ULTIMA LINHA");
writer.flush();
writer.newLine(); // AQUI ONDE DEVERÁ SER INSERIDO O ENTER
Se alguém puder me ajudar ficarei bastante agradecido.