Gerar arquivo .DAT ou TXT

Fala galera,

Estou com problema na geração de arquivos de acesso sequencial com a extensão DAT ou TXT, o sistema le os dados de um banco de dados e depois gera o arquivo em uma pasta específica.

O problema é quando o programa roda em Windows fica certinho, salva um registro em cada linha, agora quando o programa roda em linux ele salva todos os registro em uma linha e os separa por um caracter parecido com um retângulo.

Alguém sabe qual o problema?

obrigado desde já

Acredito que o problema se dá pelo fato de no Windows a quebra de linha ser representada por \r\n e no Linux somente por \n.

Bom eh por causa do encode usando , vc deve padronizar o character de controle eh o 09 e 10 ,
porem vc esta tendo erro na aplicacao ou somente para visualizar o arquivo com outra ferramenta ?

Não forçe o tipo deixe a JVM dar o separador de linha

; System.getProperty("line.separator")

d

[quote=edmarr]Bom eh por causa do encode usando , vc deve padronizar o character de controle eh o 09 e 10 ,
porem vc esta tendo erro na aplicacao ou somente para visualizar o arquivo com outra ferramenta ? [/quote]
O meu problema é só na visualização com o bloco de notas, mas quando eu tento importar para outro banco de dados no windows também tenho erro, você pode explicar como eu padronizo o characteres de controle?

[quote=Felagund]Não forçe o tipo deixe a JVM dar o separador de linha

System.getProperty("line.separator") [/quote]

O código está sendo inserido a partir de um for, eu coloquei o código dentro do for mas continua gerando com o caractere, será que eu fiz alguma coisa errada?

segue uma parte do código

[code]for (ContatoBoasVindas contato : registros){

			StringBuilder linhaFormatada = new StringBuilder();
			linhaFormatada.append(formatarCampo(contato.getCampanha()));
			linhaFormatada.append("|");
			linhaFormatada.append(formatarCampo(contato.getDataImportacao()));
			linhaFormatada.append("|");
			linhaFormatada.append(formatarCampo(contato.getAgente()));
			System.getProperty("line.separator");
			registrosFormatados.add(linhaFormatada.toString());
		}[/code]

valeu

System.getProperty("line.separator");  

retorna uma String (que é justamente a String que representa a quebra de linha)…

Não deixe jogado no código, passe como argumento para o metodo append do StringBuilder…

ok?

Oi renamed, fiz o seguinte:

linhaFormatada.append(System.getProperty("line.separator"));

funcionalmente não deu certo, agora ele está gerando dois caracteres, não sei como resolver isso,

valeu

Oi renamed, fiz o seguinte:

linhaFormatada.append(System.getProperty("line.separator"));

funcionalmente não deu certo, agora ele está gerando dois caracteres indesejáveis, não sei como resolver isso,
alguém pode ajudar?

valeu