在 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 Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn