PDA

Visualizza la versione completa : Java - scrivere un file di testo


clochard
08-09-2004, 23:02
Ciao,
premetto che sono alle primissime armi per quanto riguarda java e che ho cercato sul forum prima di postare questa domanda.

Ho scritto questo piccolo programmino per scrivere un file txt:
import java.io.*;



public class io_file {

public static void main(String[] argus){

try{

FileWriter letters = new FileWriter("test2.txt",true);
Date d = new Date ();


letters.write("andrea");
letters.write("\n ");
letters.write("********FINE*********"+d);
letters.close();

}catch(IOException e){

System.out.print("Errore di scrittura file: "+ e.toString());

}//fine catch try

}//fine main

}

Tutto Ok, funziona!
Ho solo un piccolo problema: nelle righe che scrivo c' un ritorno a capo ("\n") che non viene calcolato !
Sapete dirmi perch?

Grazie!

anx721
08-09-2004, 23:13
Originariamente inviato da clochard

Ho solo un piccolo problema: nelle righe che scrivo c' un ritorno a capo ("\n") che non viene calcolato !
Grazie!

Che vuoi dire?

Se eseguo iltuo codice, nel file vengono scritte 2 righe:



andrea
********FINE*********Wed Sep 08 22:11:57 CEST 2004

clochard
08-09-2004, 23:14
In effetti a me il "\n" non viene interpretato (vedo una sorta di piccolo quadratino).

Non un problema di come incodato il testo? (UNICODE,ANSI...)

clochard
08-09-2004, 23:22
Ho provato anche con l'oggetto BufferedWriter e il metodo newLine().
Ma ho lo stesso risultato!!
Non hai nessuna idea?
Da cosa puo' dipendere?

clochard
08-09-2004, 23:31
:dh: :dh:
Puo' essere un problema d'installazione della JVM?

anx721
08-09-2004, 23:35
Strano che con newLine di Bufferedwriter non funzioni...comuqnue dipende dal fatto che sotto windows il carattere di nuova linea dovrebbe essere la coppia \r\n anzicche il solo \n. Comuqnue anche dal programma con cui visualizzi il file: se lo visualizzo con Textpad vedo normalmente le due righe, se lo visualizzo con notepad vedo anche io tutto su un'unica riga e il quadratino. Per visualizzarlo correttamente con notepad sostituisci \n con \r\n , prova anche ad usare un PrintWriter che sembra non presentare il problema:

PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("prova.txt")));
out.println("andrea");
Date d = new Date ();
out.print(d);
out.close();


Se funziona anche a te preferibile questo anzicche scrivere escplicitamente \r\n

:ciauz:

clochard
08-09-2004, 23:39
Sei stato proprio gentile!
Ora provo PrintWriter!

Ciao!

LeleFT
09-09-2004, 12:53
Domanda... con quale editor di testi apri il file? Se usi il Blocco Note probabile che il carattere di new line ti venga interpretato come il quadratino, ma se lo apri con WordPad (ad esempio) tale quadratino non ci dovrebbe essere e dovresti avere la visualizzazione corretta.
In alternativa prova cos:


letters.write("andrea");
letters.write(System.getProperty("line.separator"));
letters.write("----FINE---" + d);


Ciao. :ciauz:

Loading