本文概述
有两种删除Java文件的方法:
使用File.delete()方法
使用File.deleteOnExit()方法
Java File.delete()方法
在Java中, 我们可以使用File类的File.delete()方法删除文件。 delete()方法删除由抽象路径名表示的文件或目录。如果路径名是目录, 则该目录必须为空才能删除。方法签名为:
public boolean delete()
如果文件或目录已成功删除, 则该方法返回true, 否则返回false。
例
import java.io.File;
public class FileDeleteExample
{
public static void main(String[] args)
{
try
{
File f= new File("E:\demo.txt");//file to be delete
if(f.delete())//returns Boolean value
{
System.out.println(f.getName() + " deleted");//getting and printing the file name
}
else
{
System.out.println("failed");
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
输出:
文件何时存在。
文件不存在时。
Java File.deleteOnExit()方法
File.deleteOnExit()方法还删除由抽象路径名定义的文件或目录。 deleteOnExit()方法以相反的顺序删除文件。 JVM终止时, 它将删除文件。它不返回任何值。提出请求后, 将无法取消该请求。因此, 应谨慎使用此方法。
方法签名为:
public void deleteOnExit()
通常, 当我们要删除临时文件时, 我们使用此方法。临时文件用于存储不太重要的临时数据, 当JVM终止时, 应始终将其删除。
如果要手动删除.temp文件, 可以使用File.delete()方法。
例
下面的示例创建一个名为abc.temp的临时文件, 并在程序终止时将其删除。
import java.io.File;
import java.io.IOException;
public class DeleteOnExitExample
{
public static void main(String[] args)
{
File temp;
try
{
temp = File.createTempFile("abc", ".temp");//creating a .temp file
System.out.println("Temp file created at location: " + temp.getAbsolutePath());
temp.deleteOnExit(); //delete file on runtime exit
System.out.println("Temp file exists : " + temp.exists());
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
输出:
让我们看另一个删除文本文件的示例。
例
import java.io.File;
import java.io.IOException;
public class DeleteTextFileExample
{
public static void main(String[] args)
{
try
{
File file = new File("F:\newfile.txt"); //creates a file instance
file.deleteOnExit(); //deletes the file when JVM terminates
System.out.println("Done");
Thread.sleep(1000);
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
输出: