當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。