gpt4 book ai didi

java - 在java中删除一个文本文件

转载 作者:行者123 更新时间:2023-12-04 18:03:33 25 4
gpt4 key购买 nike

我有一种方法可以删除包含所选电话号码的文本文件中的一行。下面是我的代码。

private void DeleteButtonActionPerformed(java.awt.event.ActionEvent evt) {                                             

try {
String selectedphone = Phone.getText();

BufferedReader br = new BufferedReader(new FileReader(file));

// Construct the new file that will later be renamed to the original file
PrintWriter pw = new PrintWriter(new FileWriter(tempFile));

String line = null;
// Read from the original file and write to the new
// unless content matches data to be removed.
while ((line = br.readLine()) != null) {
if (line.trim().startsWith(selectedphone)) {
continue;
} else {
pw.println(line);
pw.flush();

}
}
pw.close();
br.close();

file.delete();
if (!file.delete()) {
System.out.println("Could not delete file");
}

//rename tempphonebook.txt file back to phonebook.txt
tempFile.renameTo(file);
if (tempFile.renameTo(file)) {
System.out.println("Update succesful");
} else {
System.out.println("Update failed");
}
} catch (Exception e) {
}

}

我的'phonebook.txt'文件如下

0787465147|John|Doe|924578654v|Colombo|
0715435786|Jane|Doe|6672475845v|Colombo|
0114745755|Foo|Baz|6454753754v|Kandy|

当我点击带有“selectedphone”作为 0787465147 的“删除”按钮时,它将创建一个“tempphonebook.txt”文件,如下所示。

0715435786|Jane|Doe|6672475845v|Colombo|
0114745755|Foo|Baz|6454753754v|Kandy|

然后应该删除“phonebook.txt”并将“tempphonebook.txt”重命名为“phonebook.txt”。问题是我无法删除“phonebook.txt”文件。当我点击“删除”按钮时,我得到了这个消息

Could not delete file
Update failed

有人可以帮我解决这个问题吗?提前致谢! :)

最佳答案

您尝试删除该文件两次:

    file.delete();
if (!file.delete()) {

删除第一个 file.delete();

关于java - 在java中删除一个文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30995354/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com