Java Files deleteIfExists()方法及示例

Java Files deleteIfExists()方法及示例

java.nio.file.FilesdeleteIfExists() 方法帮助我们删除一个在路径上存在的文件。我们把文件的路径作为参数传给这个方法。如果该文件被该方法删除,该方法将返回true;如果该文件因不存在而不能被删除,则返回false。

如果该文件是一个符号链接,那么删除的是符号链接本身,而不是链接的最终目标。如果文件是一个目录,那么这个方法将只在该目录为空时删除该文件。在一些实现中,一个目录有特殊文件或链接的条目,这些条目在目录创建时被创建。在这样的实现中,当只有特殊条目存在时,一个目录被认为是空的。在这种情况下,可以用这种方法删除目录。在某些操作系统上,当一个文件被这个Java虚拟机或其他程序打开并使用时,可能无法删除它。

语法

public static boolean deleteIfExists(Path path)
                   throws IOException

参数: 该方法接受一个参数 path ,它是要删除的文件的路径。

返回值: 如果该文件被该方法删除,该方法返回true;如果该文件不存在,不能被删除,则返回false。

异常: 该方法将抛出下列异常。

  1. DirectoryNotEmptyException – 如果文件是一个目录,并且由于该目录不是空的而不能被删除。
  2. IOException – 如果发生一个I/O错误
  3. SecurityException – 在默认提供者的情况下,并且安装了安全管理器,SecurityManager.checkdelete(String)方法被调用,以检查对文件的删除权限。

以下程序说明了deleteIfExists(Path)方法:

程序1 :

// Java program to demonstrate
// java.nio.file.Files.deleteIfExists() method
  
import java.io.IOException;
import java.nio.file.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create object of Path
        Path path
            = Paths.get("D:\\Work\\Test\\file1.txt");
  
        // deleteIfExists File
        try {
  
            Files.deleteIfExists(path);
        }
        catch (IOException e) {
  
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

输出

在删除该文件之前。文件存在于路径 “D:\\Work\Test\file1.txt”

Java中的deleteIfExists方法及示例

删除文件后:该文件从路径 “D:\\Work\Test\file1.txt “中删除IfExistsd

Java中的deleteIfExists方法及示例

程序2 :

// Java program to demonstrate
// java.nio.file.Files.deleteIfExists() method
  
import java.io.IOException;
import java.nio.file.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create an object of Path
        Path pathOfFile
            = Paths.get("D:\\Work\\Test\\"
                        + "text1.txt");
  
        // delete both File if file exists
        try {
  
            boolean result
                = Files.deleteIfExists(pathOfFile);
  
            if (result)
                System.out.println("File is deleted");
            else
                System.out.println("File does not exists");
        }
        catch (IOException e) {
  
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

输出:

Java中的deleteIfExists方法及示例

参考文献: https://docs.oracle.com/javase/10/docs/api/java/nio/file/Files.html#deleteIfExists(java.nio.file.Path)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程