Home > Directory > Xóa thư mục trong Java

Xóa thư mục trong Java

Để xóa một thư mục, bạn có thể đơn giản sử dụng phương thức File.delete() với điều kiện là thư mục đó phải trống.

Phổ biến hơn là bạn thường phải thực hiện xóa đệ quy trong một thư mục, tức là tất cả các thư mục con và các file phải được xóa hết. Ví dụ sau minh họa việc đó :

package quyetdv.java.javaio.directory;
import java.io.File;
import java.io.IOException;
public class DeleteDirectory {
    private static final String SRC_FOLDER = "D:\\Test";
    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 (Exception e) {
                 e.printStackTrace();
                 System.exit(0);
             }
        }
        System.out.println("Done");
    }
    private 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());
        }
     }
}

Kết quả :

DeleteDirectory

Advertisements
Categories: Directory
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: