|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Feb 2006
Messaggi: 89
|
[JAVA]Scrivere in fondo a un file
Ciao a tutti, io ho un file rappresentato con
out=new PrintWriter( new BufferedWriter( (new FileWriter(posFileOut)))); su questo file scrivo più volte delle righe con out.println("STRINGA"), il mio problema è questo: ogni riga che scrivo deve terminare con FALSE tranne l'ultima che deve terminare con TRUE, non posso sapere quale riga è l'ultima tramite fine di cicli for o cose simili, volevo sapere se esiste un modo per dire a Java "vai in fondo al file, arretra di 5 caratteri e scrivi TRUE", è possibile o sto farneticando? |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jul 2002
Messaggi: 4334
|
Con RandomAccessFile, esempio d'uso:
http://digilander.libero.it/computin...07.html#random vedi il javadoc per maggiori dettagli
__________________
|Java Base| |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jan 2004
Città: ROMA
Messaggi: 2055
|
Ciao,
per scrivere in fondo a un file devi utilizzare (almeno io faccio così) la classe RandomAccessFile che ti mette a disposizione un metodo di nome length() e uno di nome seek(). In pratica, tu apri il file: Codice:
RandomAccessFile logFile = new RandomAccessFile("log.txt","rw"); Codice:
FileOutputStream fos = new FileOutputStream(logFile.getFD()); Codice:
PrintStream log = new PrintStream(fos); Codice:
logFile.seek(logFile.length()); log.println("Quello che vuoi"); Ciao! |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Jul 2006
Città: Bergamo
Messaggi: 401
|
Se devi fare semplicemente una append su un file di testo basta che istanzi un PrintWriter in questo modo:
Codice:
PrintWriter outputStream = new PrintWriter(new FileOutputStream("textfile.txt", true));
__________________
iMac 27" 5K |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:00.