当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java Files deleteIfExists()用法及代码示例


java.nio.file.Files的deleteIfExists()方法可帮助我们删除文件(如果该文件位于路径中)。我们将文件的路径作为参数传递给此方法。如果文件被该方法删除,则此方法将返回true;否则,此方法将返回true。如果由于文件不存在而无法删除该文件,则返回false。

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

用法:


public static boolean deleteIfExists(Path path)
                   throws IOException

参数:此方法接受参数路径,该路径是要删除的文件的路径。

返回值:如果文件已被该方法删除,则此方法返回true;否则,此方法返回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”中

删除文件后:该文件是从路径“D:\\Work\\Test\\file1.txt”中的deleteIfExistsd删除的

示例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(); 
        } 
    } 
}
输出:

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



相关用法


注:本文由纯净天空筛选整理自AmanSingh2210大神的英文原创作品 Files deleteIfExists() method in Java with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。