java删除一个目录下所有文件,java删除目录及子目录

  java删除一个目录下所有文件,java删除目录及子目录

  删除()方法可用于删除文件或空目录/文件夹,如果文件被删除,删除()方法返回没错,如果文件不存在则返回错误。

  如果删除目录,删除()方法检查目录是否为空,如果目录为空,则删除目录,否则删除()方法不会执行任何操作并返回假的,所以在这种情况下,必须递归删除所有文件,然后再删除目录。

  删除非空目录的另一种方法是使用Files.walkFileTree()方法,在这种方法中,可以逐个处理所有文件,并在单个文件对象上调用删除()方法。

  删除文件示例:

  包com。日志开发。文件;导入Java。io。文件;公共类DeleteFileJava {

  /**

  * 此类显示如何在爪哇中删除文件

  * @param args

  */

  公共静态void main(String[] args) {

  //带路径的文件名

  File File=new File( tmp/tmp 2/File。txt’);

  if(file.delete()){

  系统。出去。println( tmp/tmp 2/File。文本文件(textfile)文件已删除);

  }else System.out.println(文件tmp/tmp2/file.txt不存在);

  //只提供文件名称

  文件=新文件(文件。txt’);

  if(file.delete()){

  System.out.println(file.txt文件从项目根目录删除);

  } else系统。出去。println( File文件。文本文件(textfile)在项目根目录下不存在);

  //相对路径

  文件=新文件( temp/File。txt’);

  if(file.delete()){

  System.out.println(从项目根目录删除的temp/file.txt文件);

  }else System.out.println(项目根目录下不存在文件临时/文件。txt’);

  //删除空的目录

  文件=新文件( temp );

  if(file.delete()){

  System.out.println("从项目根目录中删除的临时目录");

  }else System.out.println(项目根目录中临时雇员目录不存在或不为空);

  //试图删除非空目录

  File=new File( D:/user/maxsu/project );

  if(file.delete()){

  系统。出去。println( D:/user/maxsu/Project目录从项目根目录中删除);

  } else系统。出去。println( D:/user/maxsu/project目录不存在或不为空);

  }}注意:与createNewFile()不同,delete方法不会抛出IOException异常。

  下面是一个简单的程序,演示如何删除非空目录,如果目录包含有文件,删除目录不会成功。

  删除目录示例:

  导入Java。io。文件;公共类JavaDeleteDirectory {

  公共静态void main(String[] args) {

  文件目录=新文件( D:/worksp/Java/log );

  if(dir.isDirectory()==false) {

  System.out.println(不是目录。什么都不做);

  返回;

  }

  file[]列出文件=目录。列出文件();

  对于(文件文件:列表文件){

  系统。出去。println(删除文件。getname());

  文件。delete();

  }

  //现在目录为空,所以可以删除它

  System.out.println(删除目录成功= dir。delete());

  }}递归删除目录示例:

  导入Java。io。io异常;

  导入Java。nio。文件。filevisitresult

  导入Java。nio。文件。文件;

  导入Java。nio。文件。路径;

  导入Java。nio。文件。路径;

  导入Java。nio。文件。简单的文件访问者;

  导入Java。nio。文件。属性。basicfileattributes

  公共类奇怪的是{

  公共静态void main(String[] args)引发IOException {

  路径目录=路径。get( D:/worksp/maxsu/log));

  Files.walkFileTree(目录,新的SimpleFileVisitorPath() {

  @覆盖

  公共文件VisitResult访问文件(路径文件,基本文件属性)引发IOException {

  文件.删除(文件);//有效,因为它始终是一个文件

  返回文件访问结果.继续;

  }

  @覆盖

  公共文件访问结果访问后目录(路径dir,IOException exc)抛出IOException {

  Files.delete(目录);//这将起作用,因为目录中的文件已被删除

  返回FileVisitResult。继续;

  }

  });

  }}推荐教程:java入门教程以上是如何在java中删除文件和目录的细节。请多关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: