|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Mar 2004
Città: Milano
Messaggi: 107
|
[JAVA] problema del cavolo con la scrittura su file
ciao a tutti... sto scrivendo una piccola applicazione in Java che deve scrivere informazioni in un file di log... a tal proposito uso la classe FileWriter e per scrivere uso un metodo ereditato dalla classe nonna Writer, ovvero write(String)... ora il problema davvero stupido che ho è che nn so come mettere le newline... di solito per stampare a video uso \n , ma quando apro il suddetto file con notepad al posto di \n mi compare un quadratino, facendomi capire che nn è quello il simbolo giusto... allora ho provato con \r, ma il risultato è identico... con ultraedit invece il file viene aperto correttamente, ma per forza visto che ultraedit può interpretare file con qualsiasi encoding...
il discorso è che bisogna dire a java di scrivere un CRLF, che se nn sbaglio, per esperienza, credo sia la codifica di una newline sotto windows...
__________________
Non c'è la morte... c'è la Forza... |
|
|
|
|
|
#2 |
|
Bannato
Iscritto dal: Jan 2003
Città:
Messaggi: 4421
|
try
{ PrintWriter pw = new PrintWriter(new FileWriter("Elenco.txt")); boolean eof = false; while(!eof) { pw.println("Abry"); pw.println("ciao"); eof = true; } pw.close(); } catch(IOException e) { } ...sta cosa aveva fato dannare anche me ...sai mica come si usa lesecuzione passo passo su eclipse?
|
|
|
|
|
|
#3 | |
|
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16213
|
Re: [JAVA] problema del cavolo con la scrittura su file
Quote:
Questo significa semplicemente che un editor di testo che usa la convenzioni Windows va a capo "bene" solo quando trova CRLF, e cosi' via. Ma la JVM non e' Windows, e quando programmi in Java, usi le convenzioni della JVM e non quelle di Windows. Direi che le linee di azione possibili sono queste: a) lasci le cose come stanno; b) definisci una endline come "\r\n" che scrivi ogni volta che devi andare a capo; c) definisci una endline che dipende dal sistema operativo che c'e' sotto (non so come si fa, e nemmeno se si puo' fare) e la scrivi ogni volta che devi andare a capo.
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Dec 2002
Città: Bologna
Messaggi: 483
|
usa semplicemente un PrintWriter come già suggerito da ally...con tale stream usi i metodi println() che ti mandano automaticamente a capo senza troppi problemi
__________________
Acer TravelMate 8103Wlmi |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Dec 2001
Città: Milano
Messaggi: 545
|
dalle API di PrintWriter:
...Unlike the PrintStream class, if automatic flushing is enabled it will be done only when one of the println() methods is invoked, rather than whenever a newline character happens to be output. The println() methods use the platform's own notion of line separator rather than the newline character. La nozione di separatore di riga è presa da qualche parte dalla JVM e memorizzata nella proprietà di sistema line.separator che è accessibile tramite Codice:
System.getProperty(String key)
__________________
Angus the Hunter @ Realm of magic | Angus Young @ Batracer °SetiEmperor°| Ninja Technologies { qualunque cosa sia, è veloce e fa male (cit.) } |
|
|
|
|
|
#6 |
|
Member
Iscritto dal: Mar 2004
Città: Milano
Messaggi: 107
|
grazie mille ragazzi... farò un po' di prove... chiaramente la soluzione migliore sarà di prendere in base al proprio sistema il carattere di newline e poi usare quello... è quella che più rispecchia il meccanismo della portabilità...
ciao a tutti...
__________________
Non c'è la morte... c'è la Forza... |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
Quote:
non alla maniera di java... leggi quello che ti hanno postato, le librerie sono già multipiattaforma |
|
|
|
|
|
|
#8 |
|
Member
Iscritto dal: Mar 2004
Città: Milano
Messaggi: 107
|
benchè nn abbia capito quest'ultima frase, ti dico "okkei"
__________________
Non c'è la morte... c'è la Forza... |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:02.



















