Este problema ocorre porque o "\n" � o separador de linha do formato de
arquivos texto do UNIX. No DOS, o separador usado � "\r\n" (carrier
return/new line). Voc� provavelmente est� abrindo o arquivo no notepad do
windows, que n�o reconhece o formato. O wordpad (e qualquer outro editor
decente) o reconhece, e separa corretamente as linhas.

Obs.: do mesmo jeito que o notepd n�o quebra as linhas quando encontra
apenas o "\n", um editor de texto no UNIX lendo um arquivo texto do DOS
quebra as linhas, mas um caracter ileg�vel aparece no final de cada linha (o
"\r").

Como escrever sempre no formato do computador local? Isso eu n�o sei, talvez
exista alguma classe que d� o separador (do mesmo jeito que a classe
java.io.File.separatorChar nos d� o separador de arquivos "/"' no UNIX e "\"
no Windows), mas eu n�o consegui achar, se algu�m a� souber, avise :)




----- Original Message -----
From: Willian Bolzan
To: JavaList
Sent: Thursday, April 20, 2000 12:19 AM
Subject: [SouJava-J] Caractere de escape "\n"


Saudacoes!!


O seguinte trecho de codigo gera numeros aleatorios e grava em um
arquivo.txt.

/*************/
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Random;
import java.math.*;

class Gravar
{
    public static void main (String[] args)
    {
        if (args.length != 1)
        {
            System.exit(-1);
        }
        try
        {
            FileOutputStream out = new FileOutputStream (args[0]);
            for(int i=0; i<300; i++)
            {
                int a= (int) (1.+(Math.random()*300.));
                String str = a+"\n";
                byte[] buf = new byte[str.length()];
                str.getBytes(0, str.length(), buf, 0);
                out.write(buf);
            }
            out.close();
        }
        catch (IOException e)
        {
        e.printStackTrace();
        }
    }
}


Mas eu preciso que ele grave os numeros um em cada linha.Um abaixo do outro.

O que esta acontecendo � que os numeros estao todos na mesma linha separados
por um caracter, (um quadrado preenchido) o qual nao posso mostrar porque
aqui neste editor de e-mail ele representa avanco de linha, como deveria
acontecer com o arquivo.txt. O caracter "\n"nao esta dando certo.

10?158?132?478?188?369?........   ? --> representa o quadrado preenchido.

Nao sei se fui claro.


O que eu posso fazer??

Obrigado,

Willian Bolzan.


    --------------------------- LISTA SOUJAVA ---------------------------
    http://www.soujava.org.br  -  Sociedade de Usu�rios Java da Sucesu-SP
    [d�vidas mais comuns: http://www.soujava.org.br/faq.htm]
    [para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
    [regras da lista: http://www.soujava.org.br/regras.htm]
    ---------------------------------------------------------------------

Responder a