/*2011 09 01 题目要求是需要递归删除目录,在确定目录为空的前提下删除目录
* 首先便利目录,递归删除文件,之后在逐个删除。
* 递归的简单操作,
* 先;列出要删除的文件,之后判断是否删除
*
* 申延刚 Younger.Shen
* younger.x.shen@gmail.com
* blog.csdn.net/hack2me
*/
package com.youngershen.io.test;
import java.io.*;
import java.util.*;
import com.youngershen.io.test.*;
public class DeleteDir {
private File file = null;
private ShowDirectory show = null;
public DeleteDir(String fileName){
show = new ShowDirectory(fileName);
file = new File(fileName);
if(file.exists()){
show.init();
char flag = 0;
//Scanner sc = new Scanner(System.in);
InputStreamReader r = new InputStreamReader(System.in);
System.out.println("以上是要删除的文件,确定输入Y,输入其他则放弃");
try {
flag =(char)r.read();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(flag == 'Y' || flag =='y'){
delete(file);
}else {
System.exit(0);
}
}
else {
System.out.println("文件或目录不存在");
}
}
public static void useage(){
System.out.println("直接输入路径或者文件可以删除\n" +
"输入目录的话则文件会都被删除\n" +
"eg: java DeleteDir c:/ \n " +
"good luck");
}
private void delete(File f){
if(!f.isDirectory()){
f.delete();
}else{
File[] buff = f.listFiles();
if(0 != buff.length)
for(File t: buff){
delete(t);
f.delete();
}
else{
f.delete();
}
f.delete();
}
}
public static void main(String[] args){
/*if(args.length != 1){
useage();
}
else{
new DeleteDir(args[0]);
}
*/
new DeleteDir("d:/1/");
}
}