⚔疯狂输出⚔ 利用开发工具删除文件

删除 文件File流程
1.获取目标文件
2.删除目标文件
3.验证是否删除成功

public class File01{

public  static void main(String[] args){

 File target  = new File("222");  // 获取目标文件222
 if(target ==null){  //目标文件存在是空的
 return false;
 }
 if(!target.exists()){ //目标文件不存在
 return false;
 }
if(target.isFile()){       //空文件夹直接删除
return target.delete();

}
if(target.list().length ==0 ){ //空文件直接删除
return target.delete();
}

for(File:folder.listFiles()){  通过遍历文件夹找到文件夹中所有的文件以及文件夹

if(f.isDirectory()){
     removeTargetFolder(f);桌椅删除文件夹
     f.delete();
   }
   }
   System.out.println(”文件夹已删除“);
   return target.delete();
   }
   }

下面我们来优化一下我们的代码

public class File02{
public  static void 面(String[]args){
    File target =  new File(”222“);//获取目标文件
boolean  result  = removeTargetFolder(target);//判断目标文件 是否删除
if(result)
System.out.println(”删除成功“);
else
System.out.println(”删除失败“);

//结论:文件以及空文件夹可以直接删除,且删除方式相同
//非空文件不可以直接删除
}
下面我们封装一个功能。
上面已经调用了我们的功能。
private static boolean removeTargetFolder(File folder){
//如果参数folder 为 null , 需要做安全处理  返回false
if(folder ==nullreturn false//文件不存在可以直接返回 false
if(!folder.exists())
return false;
//如果文件或空文件夹 , 可以直接做delete()操作
//且操作结果可以直接作为方法结果返回
if(folder.isFile())
return folder.delete();
if(folder.list().length ==0return folder.delete();

//递归处理
try{
for(File f :folder.listFiles()){
//遇到文件夹优先(递归)处理
if(f.isDirectory()){
removeTargetFolder(f);
//逻辑到达这里时 , 如果是文件 ,可以直接删除
//如果是文件夹yes处理后的空文件夹,亦可以直接删除
f.delete();
}
}catch (Exception e){
//删除是一个漫长的过程, 处理可能出现的不可靠删除失败情况。
return false;
}
System.out.println(”删除成功“);
  return folder.delete();
}
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值