Java : ลบ directory

ปัญหาอย่างหนึ่งในภาษา Java(หรือเป็นทุกภาษาก็ไม่รู้) ก็คือไม่สามารถลบ directory ที่ต้องการได้ถ้ายังไม่ได้ลบไฟล์ภายในออกให้หมด ดังนั้นถ้าต้องการลบ directory ต้องทำการลบไฟล์ออกให้หมดก่อน ดังนี้

/**
 * File Name : DeleteDir.java
 * Created Date : Mar 29, 2010 : 9:34:33 AM
 */
package com.fun4station.example;
import java.io.File;

/**
 * @Author Supot Saelao 
 * @Version 1.0
 */
public class DeleteDir {

	public static void main(String[] args) {
		deleteDir(new File("/usr/tmp"));
	}

	private static void deleteDir(File dir) {
	    if (dir.isDirectory()) {
	        String[] subDirs = dir.list();
			for (int i = 0; i < subDirs.length; i++) {
				//Call Recursive for delete sub dirs
	           deleteDir(new File(dir, subDirs[i]));
	        }
	    }
	    //Delete main dir
		dir.delete();
	}
}

อ้างอิง & ลอกมาจาก
Deleting a Directory
Recursion

  1. No comments yet.

  1. No trackbacks yet.