So habe ich diese book.txt DateiWie lösche ich Daten in einer Textdatei in Java basierend auf zwei Variablen?
111 Java Josh Javaaaaaaaaa J1
112 HTML Alex Html J2
enthält, wollte ich eine der Datei auf dem ID oder den Namen mit dem folgenden Code basiert löschen:
public void DeleteBook()
{
try
{
String bidToDelete;
System.out.println("Enter Book Name or Book ID to Delete:");
bidToDelete = sc.next();
File f = new File("C:\\Users\\HP\\Documents\\NetBeansProjects\\LMSConsole\\book.txt");
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
File TempFile = new File("temp.txt");
PrintWriter pw = new PrintWriter(TempFile);
String line = br.readLine();
while(line!=null)
{
System.out.println(line);
String[] wordsinline = line.split(" ");
if(wordsinline[0]||wordsinline[1].equals(bidToDelete))
{
f.delete();
pw.write(line);
TempFile.renameTo(f);
if(TempFile.renameTo(f))
System.out.println("Book has been deleted.");
else
System.out.println("Cannot delete file.");
}
else
{
pw.println(line);
}
line = br.readLine();
}
br.close();
pw.close();
}
catch(IOException ex)
{
System.out.println(ex);
}
}
Der Fluss ist die Trennung Datei gesucht, während der Rest in die temporäre TXT-Datei verschoben wurde. Sobald die Originaldatei gelöscht wurde, wird der Temp-Text als vorherige Originaltxt-Datei umbenannt.
Es erzeugt weiterhin Fehler. Irgendein Rat? Ich bin ein Neuling in dieser Datei-Handling-Sache. Vielen Dank!
Welchen Fehler erzeugt es weiter. Einfacher "Fehler" deckt viel Boden ab! –
Jetzt ist der Fehler weg. Aber ich kann die TXT-Datei nicht löschen, sie schreibt einfach dasselbe in temp.txt um – Irfan