Java 删除文件夹和子文件夹中的所有文件

JAVA 专栏收录该内容
22 篇文章 0 订阅

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.File;

public class ReadFile {

 /**
  * 删除某个文件夹下的所有文件夹和文件
  *
  * @param delpath
  *            String
  * @throws FileNotFoundException
  * @throws IOException
  * @return boolean
  */
 public static boolean deletefile(String delpath) throws Exception {
  try {

   File file = new File(delpath);
   // 当且仅当此抽象路径名表示的文件存在且 是一个目录时,返回 true
   if (!file.isDirectory()) {
    file.delete();
   } else if (file.isDirectory()) {
    String[] filelist = file.list();
    for (int i = 0; i < filelist.length; i++) {
     File delfile = new File(delpath + "\\" + filelist[i]);
     if (!delfile.isDirectory()) {
      delfile.delete();
      System.out
        .println(delfile.getAbsolutePath() + "删除文件成功");
     } else if (delfile.isDirectory()) {
      deletefile(delpath + "\\" + filelist[i]);
     }
    }
    System.out.println(file.getAbsolutePath()+"删除成功");
    file.delete();
   }

  } catch (FileNotFoundException e) {
   System.out.println("deletefile() Exception:" + e.getMessage());
  }
  return true;
 }

 /**
  * 输出某个文件夹下的所有文件夹和文件路径
  *
  * @param delpath
  *            String
  * @throws FileNotFoundException
  * @throws IOException
  * @return boolean
  */
 public static boolean readfile(String filepath)
   throws FileNotFoundException, IOException {
  try {

   File file = new File(filepath);
   System.out.println("遍历的路径为:" + file.getAbsolutePath());
   // 当且仅当此抽象路径名表示的文件存在且 是一个目录时(即文件夹下有子文件时),返回 true
   if (!file.isDirectory()) {
    System.out.println("该文件的绝对路径:" + file.getAbsolutePath());
    System.out.println("名称:" + file.getName());
   } else if (file.isDirectory()) {
    // 得到目录中的文件和目录
    String[] filelist = file.list();
    if (filelist.length == 0) {
     System.out.println(file.getAbsolutePath()
       + "文件夹下,没有子文件夹或文件");
    } else {
     System.out
       .println(file.getAbsolutePath() + "文件夹下,有子文件夹或文件");
    }
    for (int i = 0; i < filelist.length; i++) {
     File readfile = new File(filepath + "\\" + filelist[i]);
     System.out.println("遍历的路径为:" + readfile.getAbsolutePath());
     if (!readfile.isDirectory()) {
      System.out.println("该文件的路径:"
        + readfile.getAbsolutePath());
      System.out.println("名称:" + readfile.getName());
     } else if (readfile.isDirectory()) {
      System.out.println("-----------递归循环-----------");
      readfile(filepath + "\\" + filelist[i]);
     }
    }

   }

  } catch (FileNotFoundException e) {
   System.out.println("readfile() Exception:" + e.getMessage());
  }
  return true;
 }

 public static void main(String[] args) {
  try {
   // readfile("D:/file");
   deletefile("D:/file");
  } catch (Exception ex) {
   ex.printStackTrace();
  }
  System.out.println("ok");
 }

}


  • 2
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值