在 Java 中刪除檔案

Rupam Yadav 2023年10月12日
  1. 在 Java 中使用 Files.delete() 刪除檔案
  2. 在 Java 中使用 Files.deleteIfExists() 刪除檔案
在 Java 中刪除檔案

Java NIO 包是在 Java 7 版本中引入的。它提供名為 Files 的實用 API 來操作檔案和方向。

我們將使用這個包來刪除檔案。

在 Java 中使用 Files.delete() 刪除檔案

java.nio.file 包包含 Java Files 類,該類具有許多靜態方法來對檔案、目錄和其他型別執行操作。

我們使用 Path 介面 java.nio.files.Path 來建立 Path 例項。Path 例項是使用 Paths 類 (java.nio.file.Paths) 中的靜態方法 get() 建立的。

因此,呼叫 Paths.get() 提供了一個 Path 例項。此例項表示用於在檔案系統中定位檔案的物件。

我們將字串格式的絕對路徑作為引數傳遞給靜態方法 get()。程式碼中的絕對路徑是/Users/Test/test1.txt。get() 方法將字串序列轉換為路徑字串。

靜態方法 delete() 採用 Path 例項並刪除指定的路徑檔案。如果指定路徑中不存在該檔案,此方法將丟擲 NoSuchFileException

如果檔案是非空目錄且無法刪除,也會丟擲 DirectoryNotEmptyException。因此,我們將程式碼放在 try-catch 塊中。

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class FileTest {
  public static void main(String[] args) {
    String file_name = "/Users/Test/test1.txt";
    Path path = Paths.get(file_name);
    try {
      Files.delete(path);
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}

在 Java 中使用 Files.deleteIfExists() 刪除檔案

java.nio.file 包中的 Files 類還包括方法 deleteIfExists(),如果該檔案存在於指定路徑中,該方法將刪除該檔案。此方法返回一個布林值。

如果返回值為 true,則刪除該檔案,因為它存在於路徑中。如果該位置不存在檔案,則此方法將返回 false,因為無法將其刪除。

我們將布林值儲存在變數結果中並相應地列印輸出。如上一節所述,我們將程式碼放在 try-catch 塊中,因為此操作可能會丟擲 IOException

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

class FileTest {
  public static void main(String[] args) {
    String file_name = "/Users/Test/test.txt";
    Path path = Paths.get(file_name);
    try {
      boolean result = Files.deleteIfExists(path);
      if (result) {
        System.out.println("File is deleted!");
      } else {
        System.out.println("Sorry, could not delete the file.");
      }
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}

輸出:

File is deleted!
作者: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

相關文章 - Java File