java下删除一个非空目录的方法

题目是:
编写一个程序,要求删除一个非空目录,并列出删除目录的文件名。
import java.io.File;

public class myDeleteDirectory {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		deleteDirectory("D:/a");
	}

	public static void deleteDirectory(String path) {
		File f = new File(path);
		if (!f.exists()) {
			System.out.println("该目录不存在!");
			return;
		}
		if (f.delete()) {
			// File tf = new File("testFile");
			// System.out.println("该目录为" + tf.getPath() );
			System.out.println("该目录为" + f.getAbsolutePath());
		} else {
			// System.out.println(f.delete());
			// System.out.println("this directory is not empty!");
			File[] files = f.listFiles();
			for (int i = 0; i < files.length; i++) {
				if (files[i].isDirectory()) {
					if (!files[i].delete()) {
						deleteDirectory(files[i].getAbsolutePath());
					}
					if (files[i].delete()) {
						System.out.println("delete directory : "
								+ files[i].getAbsolutePath());
					}
				} else {
					files[i].delete();
					System.out.println("该文件为" + files[i].getAbsolutePath());
				}
			}
			f.delete();
			System.out.println("该目录为" + f.getAbsolutePath());
		}
	}

}



运行结果:
该文件为D:\a\b\c.txt
该文件为D:\a\b\c1.txt
该目录为D:\a\b
该文件为D:\a\b.txt
该文件为D:\a\b1.txt
该文件为D:\a\b2.txt
该文件为D:\a\b3.txt
该目录为D:\a

人人网的面试题,当时没写出来,我哭,估计没有机会二面了。。。      

你可能感兴趣的:(java,C++,c,面试,F#)