Java: 递归删除文件夹内容
由于java没有直接提供文件夹删除的函数,只能删除已空文件夹,所以自己写了一个。
由于java没有直接提供文件夹删除的函数,只能删除已空文件夹,所以自己写了一个。
public
static
void
deleteDirectory(File file)
{
try{
if(file.exists()&&file.isDirectory()){
String[] contents = file.list();
for(int i=0;i<contents.length;i++){
File file2X = new File(file.getAbsolutePath() + "/" +contents[i]);
if(file2X.exists()){
if(file2X.isFile()){
file2X.delete();
}else if(file2X.isDirectory()){
deleteDirectory(file2X);
}
}else{
throw new RuntimeException("File not exist!");
}
}
file.delete();
}else{
throw new RuntimeException("Not a directory!");
}
}catch(Exception e){
e.printStackTrace();
}
}
try{
if(file.exists()&&file.isDirectory()){
String[] contents = file.list();
for(int i=0;i<contents.length;i++){
File file2X = new File(file.getAbsolutePath() + "/" +contents[i]);
if(file2X.exists()){
if(file2X.isFile()){
file2X.delete();
}else if(file2X.isDirectory()){
deleteDirectory(file2X);
}
}else{
throw new RuntimeException("File not exist!");
}
}
file.delete();
}else{
throw new RuntimeException("Not a directory!");
}
}catch(Exception e){
e.printStackTrace();
}
}