|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Nov 2002
Messaggi: 163
|
Come cancellare una riga da un file accedendo con RandomAccessFile in java...
Ciao a tutti!
Io sto realizzando un progetto scolastico in java e per realizzarlo ho avuto la necessità di salvare delle informazioni in un file di testo, il problema è come posso fare per cancellare una riga da questo file senza lasciare una riga vuota in mezzo al file? Mi chiedevo se c'era qualche carattere di delete (tipo il \n che manda a capo riga)... Spero che qualcuno di voi possa essermi d'aiuto perchè nn so + dove sbattere la testa... Grazie per l'attenzione! |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
Ti leggi il file come uno stream (ottieni una stringa)...poi lvori con i metodi indexOf e substring della classe String.
Codice:
public String getBuffer() throws Exception{
try
{
// this.values = values;
FileReader file = new FileReader(pathFile);
char[] c = new char[(int)tuoFile.length()];
file.read(c);
String buffer = String.copyValueOf(c);
file.close();
return buffer;
}
catch(Exception ex)
{
System.err.println("Exception raised by <getBuffer>: "+ex);
throw ex;
}
}
Ultima modifica di cn73 : 03-05-2004 alle 15:55. |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Nov 2002
Messaggi: 163
|
Capito, ma per salvare il file con la riga eliminata e il testo "tirato su" (per occupare la riga eliminata) come devo fare?
|
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Nov 2002
Messaggi: 160
|
Ti leggi ogni riga del file sorgente e la scrivi in un file destinazione escludendo la riga in questione. Quando hai finito di leggere tutte le righe salvi il file di destinazione.
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
MA no, visto che ha lavorato su quella stringa, è meglio usarla!
Codice:
public void writeFile(String buffer) throws Exception{
try
{
FileWriter file = new FileWriter(pathFile);
file.write(buffer);
file.flush();
file.close();
}
catch(Exception ex)
{
System.out.println("Exception raised by <writeFile>: "+ex);
throw ex;
}
}
|
|
|
|
|
|
#6 |
|
Member
Iscritto dal: Nov 2002
Messaggi: 163
|
Grazie per i consigli ragazzi cmq ho risolto riscrivendo il file senza la riga che dovevo eliminare e settando la "length" del file con "getFilePointer" (che al termine della scrittura punta all'ultimo carattere scritto) e in questo modo la parte di file vecchia che nn mi interessava viene troncata...
Come vi sembra come soluzione? L'ho provata e sembra funzionare alla perfezione! Grazie ancora e ciaoooo! |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:19.



















