A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. package com.kxg_10;

  2. import java.io.File;
  3. import java.text.ParseException;
  4. import java.text.SimpleDateFormat;
  5. import java.util.Date;
  6. import java.util.Scanner;
  7. import java.util.Timer;
  8. import java.util.TimerTask;

  9. public class DelDemo {
  10.         public static void main(String[] args) throws ParseException {
  11.                 // 内部类需要访问此对象,需要final修饰
  12.                 Scanner sc = new Scanner(System.in);
  13.                 System.out.println("请指定要删除的文件夹(绝对路径):");
  14.                 final String srcFolder = sc.nextLine();

  15.                 // 匿名内部类创建事件
  16.                 TimerTask tt = new TimerTask() {
  17.                         @Override
  18.                         public void run() {
  19.                                 File file = new File(srcFolder);
  20.                                 // 自定义删除方法
  21.                                 deleteFolder(file);
  22.                         }
  23.                 };

  24.                 // 创建定时类对象
  25.                 Timer t = new Timer();

  26.                 // 键盘录入删除指定文件的时间
  27.                 System.out.println("请指定删除时间(yyyy-MM-dd HH:mm:ss):");
  28.                 String s = sc.nextLine();

  29.                 // 格式化键盘录入的字符串
  30.                 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  31.                 Date d = sdf.parse(s);

  32.                 // 时间,事件添加到定时器中
  33.                 t.schedule(tt, d);
  34.                 // 任务结束,终止定时器
  35.         }

  36.         // 删除文件夹的方法
  37.         private static void deleteFolder(File file) {
  38.                 File[] fileArray = file.listFiles();
  39.                 if (fileArray != null) {
  40.                         for (File f : fileArray) {
  41.                                 if (f.isDirectory()) {
  42.                                         deleteFolder(f);
  43.                                 } else {
  44.                                         System.out.println(f.getName() + ":" + f.delete());
  45.                                 }
  46.                         }
  47.                         System.out.println(file.getName() + ":" + file.delete());
  48.                 }
  49.         }
  50. }
复制代码


1 个回复

倒序浏览
  1. package fanShe;

  2. import java.io.File;

  3. /*
  4. * 递归删除多级文件
  5. */
  6. public class Test80 {
  7.         public static void main(String[] args) {
  8.                 File file = new File("C:\\Test");
  9.                 del(file);
  10.         }

  11.         private static void del(File file) {
  12.                 File[] files = file.listFiles();
  13.                 for (File f : files) {
  14.                         if (f.isDirectory()) {
  15.                                 del(f);
  16.                         } else {
  17.                                 System.out.println(f.getName() + ":" + f.delete());
  18.                         }
  19.                 }
  20.                 System.out.println(file.getName() + ":" + file.delete());
  21.         }
  22. }
复制代码


回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马