CodeGym /Java Blog /Toto sisi /在 Java 中刪除一個文件
John Squirrels
等級 41
San Francisco

在 Java 中刪除一個文件

在 Toto sisi 群組發布
如果您想擺脫無用的文件,請使用 Java 方法刪除它們。在 Java 中刪除文件和目錄是一個簡單的過程。有多種處理任務的方法——開發人員可以選擇他們最熟悉的方法。這是一個簡短的指南,可以在不破壞代碼的情況下刪除不需要的 Java 文件。讓我們開始吧。

如何使用 java.io.File.Delete() 方法在 Java 中刪除文件

您可以使用此方法刪除與括號中的路徑名匹配的目錄或文件。請記住,要刪除的目錄必須沒有文件。讓我們看看如何在 Java 中使用File.Delete().Java刪除文件 - 1

聲明 java.io.File.Delete()

以下是聲明方法以刪除不需要的文件的方法:

// Java code for file deletion  
import java.io.*; 
  
public class Test 
{ 
    public static void main(String[] args) 
    { 
        File file = new File("C:\\Users\\Admin\\Files\\1.txt"); 
          
        if(file.delete()) 
        { 
            System.out.println("File deleted successfully"); 
        } 
        else
        { 
            System.out.println("Failed to delete the file"); 
        } 
    } 
}
如果您可以訪問該文件並且它存在,您將獲得相應的回報。如果失敗,您將收到“刪除文件失敗”警報。

使用 java.nio.files.deleteIfExists() 刪除 Java 文件

此方法可幫助 Java 開發人員通過指定文件路徑來刪除文件。與 類似java.io.FileDelete(),如果文件被成功訪問和刪除,該方法將返回 true,如果出現問題,則顯示失敗輸出。失敗的最常見原因java.nio.files.deleteIfExists()是路徑名錯誤 - 簡單地說,在您指定的目錄中沒有具有匹配參數的文件。為了更深入地理解 if java.nio.files.deleteIfExists(),我們來看看它是如何處理不同文件類型的:
  • 符號鏈接——刪除的是鏈接,而不是它後面的文件。
  • 目錄- 一旦目錄為空或只有特殊條目(僅與方法的少數規範相關),目錄將被成功刪除。
  • 文件- 在大多數情況下,只要您在方法中指定的路徑是正確的並且您可以訪問該文件,它就會被成功刪除。但是,某些操作系統的規範不允許開發人員刪除當前打開的文件。

聲明 java.niofile.deleteIfExists

聲明方法很簡單——讓我們看一下它的一般語法。

public static boolean deleteIfExists(Path path)
                   throws IOException

java.niofile.deleteIfExists 的參數

開發人員需要指定一個參數來運行該方法 - 他要從系統中刪除的文件的路徑。

java.niofile.deleteIfExists 返回

該方法有兩個返回值:
  • 沒錯,當文件被順利刪除的時候。
  • False,如果過程中出現錯誤(目錄不為空,文件不存在,開發人員沒有所需的權限等)。

java.niofile.deleteIfExists 異常

至於異常,開發人員應該為三個示例場景做好準備:
  • DirectoryNotEmptyException - 顧名思義,這意味著您的目錄中有一個字段。將它們移到其他地方後,您將能夠成功完成目錄刪除。
  • SecurityException - 如果您的設備上安裝了安全管理器,文件刪除方法將被覆蓋SecurityManager.checkdelete(String)。結果,開發人員將收到異常警告。
  • IOException與 I/O 錯誤有關 - 硬盤驅動器不兼容、過時的驅動程序選擇等。

使用 deleteIfExists() 的例子


// Java program to show deleteIfExists() file handling
// 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();
        }
    }
}

例子#2


/ Sample Java deletion program
// 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 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 中刪除文件的主要方法。由於它們具有相同的參數,因此可以隨意互換使用它們。練習幾次 Java 文件刪除後,您一定會掌握它的竅門。
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION