การลบ Directory ใน Java

ในการลบ directory ใน Java นั้นเราจะใช้ File.delete() เพื่อใช้ในการลบครับ ถ้า directory นั้นว่างและไม่มีไฟล์ใดๆอยู่ในนั้นแล้วหรือไฟล์เหล่านั้นเราไม่ใช้แล้ว. ซึ่งบ่อยครั้งทีเดียวที่เราจำเป็นต้องลบไฟล์หรือ directory ที่ซ้อนกัน.

ตัวอย่าง
ลบ directory ชื่อ "C:\\users\\nopphanan7\\Directory2" และ directory ย่อยที่อยู่ในนั้นด้วย.
package demo.directory;

import java.io.File;
import java.io.IOException;

public class DeleteDirectoryExample {
    private static final String SRC_FOLDER = "C:\\users\\nopphanan7\\Directory2";

    /**
     * @param args
     */
    public static void main(String[] args) {
        File directory = new File(SRC_FOLDER);
        // make sure directory exists
        if (!directory.exists()) {
            System.out.println("Directory does not exist.");
            System.exit(0);

        } else {
            try {
                delete(directory);
            } catch (IOException e) {
                e.printStackTrace();
                System.exit(0);
            }
        }
        System.out.println("Done");
    }

    public static void delete(File file) throws IOException {
        if (file.isDirectory()) {
            // directory is empty, then delete it
            if (file.list().length == 0) {

                file.delete();
                System.out.println("Directory is deleted : "
                        + file.getAbsolutePath());
            } else {
                // list all the directory contents
                String files[] = file.list();

                for (String temp : files) {
                    // construct the file structure
                    File fileDelete = new File(file, temp);

                    // recursive delete
                    delete(fileDelete);
                }
                // check the directory again, if empty then delete it
                if (file.list().length == 0) {
                    file.delete();
                    System.out.println("Directory is deleted : "
                            + file.getAbsolutePath());
                }
            }
        } else {
            // if file, then delete it
            file.delete();
            System.out.println("File is deleted : " + file.getAbsolutePath());
        }
    }
}
ผลลัพธ์ที่ได้คือ
Directory is deleted : C:\users\nopphanan7\Directory2\Sub2\Sub-Sub2
Directory is deleted : C:\users\nopphanan7\Directory2\Sub2
Directory is deleted : C:\users\nopphanan7\Directory2
Done

About Nop

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment

0 comments:

Post a Comment