|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: May 2001
Messaggi: 191
|
[JAVA] Cancellare riga da file di testo
Come da topic....
come faccio a farlo nel modo più semplice e veloce possibile? thanks
__________________
Project HTPC: work in progress! |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: May 2001
Messaggi: 191
|
up è urgente pleeessseeee
__________________
Project HTPC: work in progress! |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Prendi il file e lo copi una riga per volta su un file temporaneo, quando incontri la linea da eliminare la salti e riprendi dalla linea successiva. Al termine sovrascrivi il file originale con il temporaneo.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Quote:
un post di pgi senza milioni di righe di codice sogno o son desto................................. P.S.: scherzo naturalmente, era per scrivere nella sezione che manco da unn pò e poi i tuoi commenti di solito sono proprio programmi già scritti
__________________
My gaming placement |
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: May 2001
Messaggi: 191
|
Codice:
private void deleteSng(String ng){
try {
File temp = File.createTempFile("preferiti",".txt");
temp.deleteOnExit();
BufferedWriter out = new BufferedWriter(new FileWriter(temp));
PrintWriter pw = new PrintWriter(out,true);
BufferedReader in = new BufferedReader(new FileReader(listaSng));
//scandisco le righe del file e non considero la riga che voglio eliminare
String linea = in.readLine();
while (linea != null) {
if (!linea.equals(ng+".xml")) {
pw.println(linea);
}
linea = in.readLine();
}
in.close();
out.close();
//pw.close();
File file= temp;
FileOutputStream fos=new FileOutputStream(file);
} catch (IOException e) {
}
}
__________________
Project HTPC: work in progress! |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
aggiungere un out.flush() prima dell'out.close() aiuta?
__________________
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: May 2001
Messaggi: 191
|
nulla da fare
__________________
Project HTPC: work in progress! |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
ma qual'è il prob specifico?
![]() io ho scritto dell'out.flush xkè sicuramente quelo mancava.. ma hai qualke errore o semplicemente nn ti scrive correttamente il file?
__________________
|
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: May 2001
Messaggi: 191
|
Quote:
Codice:
try {
File temp = new File("_"+listaSng);
File listaBackup = new File(listaSng);
File nuovo = new File(listaSng);
String nomeFile=ng+".xml";
BufferedReader in = new BufferedReader(new FileReader(listaBackup));
PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(temp)));
//scandisco le righe del file e non considero la riga che voglio eliminare
String linea = in.readLine();
while (linea != null) {
if (!linea.equals(nomeFile)) {
out.println(linea);
}
linea = in.readLine();
}
in.close();
out.close();
Thread.sleep(500);
listaBackup.delete();
Thread.sleep(500);
temp.renameTo(nuovo);
Thread.sleep(500);
temp.createNewFile();
temp.delete();
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
Per farlo funzionare ho aggiunto Thread.sleep(500)! A volte cmq java va in tilt...come in questo caso!!! chi mi spiega come mai ho dovuto aggiungere un delay per far funzionare il codice?
__________________
Project HTPC: work in progress! |
|
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: May 2001
Messaggi: 191
|
Quote:
__________________
Project HTPC: work in progress! |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:44.





















