【www.gdgbn.com--js教程】
java 删除不为空文件夹与文件删除
import java.io.file;
private void deletefile(file file){
if(file.exists()){
if(file.isfile()){
file.delete();
}else if(file.isdirectory()){
file files[] = file.listfiles();
for(int i=0;ithis.deletefile(files[i]);
}
}
file.delete();
}else{
system.out.println("所删除的文件不存在!"+"n");
}
}
下面可以单独删除目录或文件
package book.io;
import java.io.file;public class deletefileutil {
/**
* 删除文件,可以是单个文件或文件夹
* @param filename 待删除的文件名
* @return 文件删除成功返回true,否则返回false
*/
public static boolean delete(string filename){
file file = new file(filename);
if(!file.exists()){
system.out.println("删除文件失败:"+filename+"文件不存在");
return false;
}else{
if(file.isfile()){
return deletefile(filename);
}else{
return deletedirectory(filename);
}
}
}
/**
* 删除单个文件
* @param filename 被删除文件的文件名
* @return 单个文件删除成功返回true,否则返回false
*/
public static boolean deletefile(string filename){
file file = new file(filename);
if(file.isfile() && file.exists()){
file.delete();
system.out.println("删除单个文件"+filename+"成功!");
return true;
}else{
system.out.println("删除单个文件"+filename+"失败!");
return false;
}
}
/**
* 删除目录(文件夹)以及目录下的文件
* @param dir 被删除目录的文件路径
* @return 目录删除成功返回true,否则返回false
*/
public static boolean deletedirectory(string dir){
//如果dir不以文件分隔符结尾,自动添加文件分隔符
if(!dir.endswith(file.separator)){
dir = dir+file.separator;
}
file dirfile = new file(dir);
//如果dir对应的文件不存在,或者不是一个目录,则退出
if(!dirfile.exists() || !dirfile.isdirectory()){
system.out.println("删除目录失败"+dir+"目录不存在!");
return false;
}
boolean flag = true;
//删除文件夹下的所有文件(包括子目录)
file[] files = dirfile.listfiles();
for(int i=0;i
//删除子文件
if(files[i].isfile()){
flag = deletefile(files[i].getabsolutepath());
if(!flag){
break;
}
}
//删除子目录
else{
flag = deletedirectory(files[i].getabsolutepath());
if(!flag){
break;
}
}
}
if(!flag){
system.out.println("删除目录失败");
return false;
}
//删除当前目录
if(dirfile.delete()){
system.out.println("删除目录"+dir+"成功!");
return true;
}else{
system.out.println("删除目录"+dir+"失败!");
return false;
}
}
public static void main(string[] args) {
//string filename = "g:/temp/xwz.txt";
//deletefileutil.deletefile(filename);
string filedir = "g:/temp/temp0/temp1";
//deletefileutil.deletedirectory(filedir);
deletefileutil.delete(filedir);
}
}