JAVA删除文件及文件夹

JAVA在删除文件或文件夹时,在java.io.File类下有个delete的方法,并且可以返回true or false, 用这个方法来删除单个文件时,很好使,但在删除文件夹时,如果文件夹下面有文件或者子文件夹时,调用这个方法就会返回false,也就是删除失败,这个方法只能删除空的文件夹,如果这样的话,就麻烦了,要达到删除文件夹的目的,就得一层一层的删除,很显然,可以使用递归,实现如下:(文件或文件夹都好使!!!)(如果在LINUX系统下运行时,可能得有个小地方要改改,为什么改自已想!)

package com.demo;

import java.io.File;

public class Test10 {
	
	public boolean delete(String path){
		File file = new File(path);
		if(!file.exists()){
			return false;
		}
		if(file.isFile()){
			return file.delete();
		}
		File[] files = file.listFiles();		
		for (File f : files) {
			if(f.isFile()){
				if(!f.delete()){
					System.out.println(f.getAbsolutePath()+" delete error!");
					return false;
				}
			}else{
				if(!this.delete(f.getAbsolutePath())){
					return false;
				}
			}
		}
		return file.delete();		
	}

	public static void main(String[] args) {
		Test10 t = new Test10();
		System.out.println(t.delete("c:\\1"));
	}

}

 

posted on 2015-05-17 21:28  张飞_  阅读(11800)  评论(2编辑  收藏  举报

导航