Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

perchè '\n' non va a capo a scrivere in un file???? aiuto!!!

1,743 views
Skip to first unread message

barocca

unread,
May 30, 2002, 1:44:18 AM5/30/02
to
Gentilmente quancuno mi saprebbe dire perchè quando scrivo in un file,
eseguendo un ciclo nel quale carico i dati, linea per linea il writeBytes
con la sequenza di escape '\n' non va a capo a scrivere e anzi nel .txt mi
appare uno strano quadratino in formato ASCII presuppongo....???????
Come
faccio a dirgli di andare a capo a scrivermi la nuova linea??
Aiutatemi
per favore...
Grazie
Ecco il codice:
----------------------------------------------
String line;
File fd;
/* Creazione del file destinazione */
fd = new File(nomefile);
/* Creazione dello Stream di
scrittura */
DataOutputStream outToFile =
new
DataOutputStream(new FileOutputStream(fd));
String
comodoScrittura = "";
/* Ciclo di scrittura */
for (int i=0; i<tipiDiProdotti; i++)
{
comodoScrittura =
prodotto[i].codiceProdotto + ';' + prodotto[i].quantita;
/*
Scrittura nel file di backup */
outToFile.writeBytes(comodoScrittura+ '\n');
}
outToFile.close();
--------------------------------------------------------------------
--------------------------------
Inviato via http://usenet.iol.it

dav...@yahoo.com

unread,
May 30, 2002, 2:40:06 AM5/30/02
to
barocca <bar...@libero.it> wrote:
> Gentilmente quancuno mi saprebbe dire perchè quando scrivo in un file,
> eseguendo un ciclo nel quale carico i dati, linea per linea il writeBytes
> con la sequenza di escape '\n' non va a capo a scrivere e anzi nel .txt mi
> appare uno strano quadratino in formato ASCII presuppongo....???????

Evidentemente perche' inserisce nel file il CR (13) e non il
CR+LF necessario nei sistemi Windows. Oppure perche' il tuo editor
interpreta il file come binario e ti mostra il ritorno a capo invece
di andare a capo come dovrebbe.

Davide

fermat

unread,
May 30, 2002, 3:20:57 AM5/30/02
to
>Gentilmente quancuno mi saprebbe dire perchè quando scrivo in un file,
>eseguendo un ciclo nel quale carico i dati, linea per linea il writeBytes
>con la sequenza di escape '\n' non va a capo a scrivere e anzi nel .txt mi
>appare uno strano quadratino in formato ASCII presuppongo....???????

Prova con \r\n (ritorno a capo e newline)
M

Enrico Donelli

unread,
May 30, 2002, 5:02:25 AM5/30/02
to
barocca wrote:
> Gentilmente quancuno mi saprebbe dire perchè quando scrivo in un file,
> eseguendo un ciclo nel quale carico i dati, linea per linea il writeBytes
> con la sequenza di escape '\n' non va a capo a scrivere e anzi nel .txt mi
> appare uno strano quadratino in formato ASCII presuppongo....???????
> Come
> faccio a dirgli di andare a capo a scrivermi la nuova linea??
> Aiutatemi
> per favore...

Io userei al posto di \n o \r\n
System.getProperty("line.separator"),
in modo da avere una maggiore portabilità.

Ciao
Enrico

Michele Costabile

unread,
May 30, 2002, 8:40:35 AM5/30/02
to
barocca wrote:
> DataOutputStream(new FileOutputStream(fd));

Prova a usare un FileWriter, una classe fatta apposta per trattare
caratteri. Dovrebbe occuparsi automaticamente della conversione dei
terminatori di linea e di altri problemi più sottili legati all'encoding
in una delle possibili lingue del mondo.

Ricorda:

Scrivere byte != scrivere caratteri

Michele Costabile

unread,
May 30, 2002, 9:10:04 AM5/30/02
to
Pardon, forse č meglio un BufferedWriter:


Write text to a character-output stream, buffering characters so as to
provide for the efficient writing of single characters, arrays, and strings.

The buffer size may be specified, or the default size may be accepted.
The default is large enough for most purposes.

A newLine() method is provided, which uses the platform's own notion of
line separator as defined by the system property line.separator. Not all
platforms use the newline character ('\n') to terminate lines. Calling
this method to terminate each output line is therefore preferred to
writing a newline character directly.

barocca

unread,
May 30, 2002, 3:24:04 PM5/30/02
to
Con la combinazione di \r\n funziona!!!
Grazie mille!!!


Il 30 Mag

--------------------------------
Inviato via http://usenet.iol.it

barocca

unread,
May 30, 2002, 3:28:53 PM5/30/02
to
Ho provato anche l'ultima soluzione con
System.getProperty("line.separator"),
solo che eseguendo il codice non
scrive niente nel file, file vuoto. Così ho optato per \r\n.
Grazie per
l'aiuto.


Il 30 Mag 2002, 11:02, Enrico Donelli
<enricod...@logicom.it> ha scritto:

>Ciao
>Enrico

--------------------------------
Inviato via http://usenet.iol.it

0 new messages