Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

วิธีลบไฟล์และไดเรกทอรีใน Java

ในการลบไฟล์ใน Java เราสามารถใช้ delete() วิธีการจาก Files ระดับ. นอกจากนี้เรายังสามารถใช้ delete() เมธอดบนอ็อบเจ็กต์ที่เป็นตัวอย่างของ File ชั้นเรียน

ตัวอย่าง:

การลบไฟล์โดยใช้คลาสไฟล์

ตัวอย่างโค้ดด้านล่างแสดงวิธีการลบไฟล์ด้วย Files คลาส:

import java.io.IOException;
import java.nio.file.*;

public class DeleteFile {

    public static void main(String[] args) {
        Path path = FileSystems.getDefault().getPath("./src/test/resources/newFile.txt");
        try {
            Files.delete(path);
        } catch (NoSuchFileException x) {
            System.err.format("%s: no such" + " file or directory%n", path);
        } catch (IOException x) {
            System.err.println(x);
        }
    }
}

รหัสด้านบนลบไฟล์ชื่อ newFile.txt ใน ./src/test/resources/ ไดเรกทอรี

catch() . หลายตัว บล็อกจะตรวจจับข้อผิดพลาดที่เกิดขึ้นเมื่อลบไฟล์

การลบไฟล์โดยใช้คลาสไฟล์

แทนที่จะใช้ delete() วิธีการใน Files คลาส เรายังสามารถใช้ delete() เมธอดบนอ็อบเจ็กต์ที่เป็นตัวอย่างของ File ชั้นเรียน

ตัวอย่าง:

import java.io.File;

public class DeleteFile {

    public static void main(String[] args) {
        File myFile = new File("./src/test/resources/newFile.txt");
        if (myFile.delete()) {
            System.out.println("Deleted the file: " + myFile.getName());
        } else {
            System.out.println("Failed to delete the file.");
        }
    }
}

ลบไฟล์ถ้ามี

รหัสต่อไปนี้ใช้ deleteIfExists() วิธีการก่อนลบไฟล์

import java.io.IOException;
import java.nio.file.*;

public class DeleteFile {
    public static void main(String[] args) {
        Path path = FileSystems.getDefault().getPath("./src/test/resources/newFile.txt");
        try {
            Files.deleteIfExists(path);
        } catch (IOException x) {
            System.err.println(x);
        }
    }
}

ในตัวอย่างโค้ดด้านบน หากไม่มีไฟล์ NoSuchFileException ไม่ถูกโยน

ลบไดเรกทอรี

เราสามารถใช้โค้ดด้านบนเพื่อลบโฟลเดอร์ได้เช่นกัน

ถ้าโฟลเดอร์ไม่ว่าง DirectoryNotEmptyException ถูกส่งออกไป เราจึงต้องจับข้อยกเว้นอย่างชัดเจน

import java.io.IOException;
import java.nio.file.*;

public class DeleteFile {

    public static void main(String[] args) {
        Path path = FileSystems.getDefault().getPath("./src/test/resources");
        try {
            Files.deleteIfExists(path);
        } catch (NoSuchFileException x) {
            System.err.format("%s: no such" + " file or directory%n", path);
        } catch (DirectoryNotEmptyException x) {
            System.err.format("%s not empty%n", path);
        } catch (IOException x) {
            System.err.println(x);
        }
    }
}

ที่เกี่ยวข้อง:

  • วิธีสร้างไฟล์ใน Java
  • วิธีเขียนไปยังไฟล์ในภาษา Java