我想删除.dat文件。这是我的代码,但它不起作用。
String searchCust = SearchCust.getText();
File file = new File(searchCust + " booking.dat");
if (file.delete()) {
JOptionPane.showMessageDialog(null, "Info deleted");
} else {
JOptionPane.showMessageDialog(null, "Delete failed");
}
基本上,当我运行时,文件不会被删除,并且会出现“删除失败”消息
答案 0 :(得分:4)
File.delete()
将仅返回true
。这意味着如果文件不存在,它将返回false
。在调用true
:
File.exists()
返回File.delete()
if (file.exists())
{
if (file.delete())
{
}
else
{
}
}
另请参阅Files.deleteIfExists()
,如果删除尝试失败,可以通过IOException
提供更多信息:
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
try
{
final Path p = Paths.get(searchCust + " booking.dat");
if (Files.deleteIfExists(p))
{
JOptionPane.showMessageDialog(null, "Deleted " + p);
}
else
{
JOptionPane.showMessageDialog(null, p + " does not exist.");
}
}
catch (final IOException e)
{
JOptionPane.showMessageDialog(null, e.getMessage());
}
答案 1 :(得分:0)
if(file.exists()){
boolean isDelete = file.delete();
if(isDelete){
//condition
}else{
//condition
}
}
答案 2 :(得分:0)
代码看起来不错
fileObject.delete()
是删除记录的方法。但是你应该首先知道java中当前的工作目录是什么。
尝试以下命令。检查其可用性:fileObject.exists()
System.getProperty("user.dir");
//获取当前工作目录。
这是方法,你可以解决这个问题。