黑马程序员技术交流社区

标题: 输入一个文件夹或者文件路径删除该文件 [打印本页]

作者: xuxu5112    时间: 2015-9-19 23:14
标题: 输入一个文件夹或者文件路径删除该文件
  1. package com.xuchang.test;

  2. import java.io.File;
  3. import java.util.Scanner;

  4. public class Test2 {

  5.         /**
  6.          * 2,从键盘接收一个文件夹路径,删除该文件夹
  7.          */
  8.         public static void main(String[] args) {
  9.                 File dir = getFile();
  10.                 deleteFile(dir);
  11.         }
  12.         /*定义方法getFile()获得一个File对象
  13.          * A.返回值File
  14.          * B.参数列表
  15.          * 1.创建键盘录入对象
  16.          * 2.String类型的line接受数据
  17.          * 3.line封装成File对象
  18.          * 4.无限循环对其进行判断
  19.          * 5.reutrn file;
  20.          * */
  21.         public static File getFile() {
  22.                 Scanner sc = new Scanner(System.in);
  23.                
  24.                 while(true) {
  25.                         System.out.println("请输入一个路径");
  26.                         String line = sc.nextLine();
  27.                         File file = new File(line);
  28.                         if(!file.exists()) {
  29.                                 System.out.println("该路径不存在,请重新录入");
  30.                         }else
  31.                                 return file;
  32.                         }
  33.                
  34.                
  35.         }
  36.         /*定义方法deleteFile()删除文件
  37.          * A.返回值类型void
  38.          * B.参数列表File dir
  39.          * 1.调用listFiles()方法获得该文件夹下的所有文件对象并存入File[]中
  40.          * 2.遍历该数组 判断是否是文件 若是 则调用delete()方法删除
  41.          * 若不是则递归
  42.          * */
  43.         public static void deleteFile(File dir) {
  44.                 if(dir.isDirectory()) {
  45.                         File[] files = dir.listFiles();        //1.调用listFiles()方法获得该文件夹下的所有文件对象并存入File[]中
  46.                        
  47.                         for (File file : files) {                                //2.遍历该数组
  48.                                 if(file.isFile()) {                                        //判断是否是文件
  49.                                         file.delete();                                        //若是 则调用delete()方法删除
  50.                                 }else {
  51.                                         deleteFile(file);                                //若不是则递归
  52.                                 }
  53.                         }

  54.                 }else
  55.                         dir.delete();
  56.         }

  57. }
复制代码


注意别删除重要的东西因为delete()方法不走回收站的,还有别在C盘试




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2