File对象的delete方法,删除非空文件夹

本文提供了两种使用Java代码删除非空目录的方法。一种是通过递归遍历并删除目录下的所有文件及子目录,另一种是定义公共方法实现相同功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 如果 "D:/defonds/temp" 是一个空目录的话,可以成功删除。但是如果是一个非空目录的话,就无法成功删除,必须将其子文件(目录)删除干净才可删除成功。使用以下的方法可以成功删除非空文件夹:

[java] view plain copy

 

  1. //递归删除文件夹  
  2.    private void deleteFile(File file) {  
  3.     if (file.exists()) {//判断文件是否存在  
  4.      if (file.isFile()) {//判断是否是文件  
  5.       file.delete();//删除文件   
  6.      } else if (file.isDirectory()) {//否则如果它是一个目录  
  7.       File[] files = file.listFiles();//声明目录下所有的文件 files[];  
  8.       for (int i = 0;i < files.length;i ++) {//遍历目录下所有的文件  
  9.        this.deleteFile(files[i]);//把每个文件用这个方法进行迭代  
  10.       }  
  11.       file.delete();//删除文件夹  
  12.      }  
  13.     } else {  
  14.      System.out.println("所删除的文件不存在");  
  15.     }  
  16.    }  


         或者使用下边的这个方法,也很不错:

[java] view plain copy

 

  1. public static void deleteAllFilesOfDir(File path) {  
  2.     if (!path.exists())  
  3.         return;  
  4.     if (path.isFile()) {  
  5.         path.delete();  
  6.         return;  
  7.     }  
  8.     File[] files = path.listFiles();  
  9.     for (int i = 0; i < files.length; i++) {  
  10.         deleteAllFilesOfDir(files[i]);  
  11.     }  
  12.     path.delete();  
  13. }  

 

在当今社会中,人们越来越多地依靠计算机来办公。每个人也习惯于在计算机中保存自已的各种文档、视频、相片。这在方便每个人的同时,也会存在一些潜在的危险。比如自己已经用操作系统(指窗面操作系统Windows系列)删除过的文件,会被一些文件恢复文具进行恢复,这在某些时候会给人带来高兴。但对于你不想被恢复的已经删除过的文件来说,则是一种风险,因为里面有自己的机密。 局域网、互联网越来越广泛地应用到生活和工作中,计算机网络技术在给人带来方便的同时,也带来了机密文件被"窃取"的风险。再加上计算机病毒的猖獗传播,更加大了文件泄密的风险。 如何才能避免自己电脑上不用的机密文件被别人窃取? 就像办公室会放置一台碎纸机一样,把不用的纸质机密文件粉碎。那每个人的计算机中其实也需要这样的一台"碎纸机",把不需要的机密文档彻底地删除,不会被删除恢复工具来恢复。这在另一方面也防止计算机病毒来"窃取"你的机密文件。 因于此,彻底删除文件File Delete Absolutely) 1.02版本应运而生,你可以免费使用它。这款系统工具软件由中国的一名硕士生马根峰所开发,专门用来将自己电脑上不用的机密文件彻底删除,不会被任何文件恢复工具所恢复。使你能够完全保护好自己的机密。 大家可以进行免费使用。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值