View Full Version : [JAVA] Cancellare riga da file di testo
Come da topic....
come faccio a farlo nel modo più semplice e veloce possibile? thanks ;)
up è urgente pleeessseeee :mc:
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.
franksisca
20-09-2007, 19:05
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.
cosa vedo:eek: :eek: :eek: :eek: :eek:
un post di pgi senza milioni di righe di codice:eek: :eek: :eek: :eek:
sogno o son desto.................................
P.S.: scherzo naturalmente, era per scrivere nella sezione che manco da unn pò :D:D:D
e poi i tuoi commenti di solito sono proprio programmi già scritti :D
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) {
}
}
mmm non ci riesco... :muro: :mbe:
^TiGeRShArK^
20-09-2007, 21:32
aggiungere un out.flush() prima dell'out.close() aiuta? :fagiano:
^TiGeRShArK^
21-09-2007, 00:31
nulla da fare :mc:
ma qual'è il prob specifico? :stordita:
io ho scritto dell'out.flush xkè sicuramente quelo mancava..
ma hai qualke errore o semplicemente nn ti scrive correttamente il file?
ma qual'è il prob specifico? :stordita:
io ho scritto dell'out.flush xkè sicuramente quelo mancava..
ma hai qualke errore o semplicemente nn ti scrive correttamente il file?
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();
}
Incredibile!!!!!!!! :stordita:
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?
:mbe:
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();
}
Incredibile!!!!!!!! :stordita:
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?
:mbe:
ops...mi ero dimenticato di chiudere il file in un altro metodo del programma! :doh: :asd:
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.