0
所以我有一個包含如何根據搜索到的兩個變量刪除Java中的文本文件中的數據?
111 Java Josh Javaaaaaaaaa J1
112 HTML Alex Html J2
這book.txt文件我想刪除基於編號或名稱,用下面的代碼文件之一:
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);
}
}
流量是分開的搜索文件,其餘部分移至臨時文本文件。一旦原始文件被刪除,臨時文本將被重命名爲前一個原始文本文件。
它不斷產生錯誤。有什麼建議?我是這個文件處理的新手。謝謝!
它會不斷產生什麼錯誤。只是簡單的「錯誤」涵蓋了很多地方! –
現在錯誤消失了。但我無法刪除txt文件,它只是將相同的內容重寫到temp.txt中 – Irfan