对于电脑中文件的一些处理

1.创建一个类,定义方法实现以下功能:

  a.查找文件功能:

  客户任意输入一个路径,若路径格式正确则输出该路径下的所有文件名称

  若格式错误则提示“无效路径”

  b.查找目录功能:

  客户任意输入一个路径,若路径格式正确则输出该路径下的所有文件夹名   称若格式错误则提示“无效路径”

  c.删除文件功能:

  客户任意输入一个路径,若路径格式正确则输出该路径下的所有文件名称

  并提示“是否要删除以下的文件:”

  若客户输入"Y"则删除,若输入"N"则不执行任何操作

  若格式错误则提示“无效路径”

  d.删除目录功能:

  客户任意输入一个路径,若路径格式正确则输出该路径下的所有文件夹     名称 并提示“是否要删除以下的文件夹(注意:文件夹下面的所有内容将   同时被删除):” 若客户输入"Y"则删除,若输入"N"则不执行任何操作

  若格式错误则提示“无效路径”

代码如下:

 

 

package com;

import java.io.File;
/**
 1.创建一个类,定义方法实现以下功能:
 a.查找文件功能:
  客户任意输入一个路径,若路径格式正确则输出该路径下的所有文件名称
  若格式错误则提示“无效路径”
 *
 */
public class FileTest {
      //查询该路径下的所有文件
      public void CheckFile(String path) {
            File file = new File(path);
            if (file.exists()) {
                  File[] temp = file.listFiles();
                  int t = 0;
                  for (int i = 0; i < temp.length; i++) {
                        t++;
                        if (temp[i].isFile()) {      //判断给定文件名是否为正常的文件
                              System.out.println(temp[i].getName() + "      文件");
                        } else {
                       
                        }
                  }
            } else {
                  System.out.println("路径无效");
            }
      }
      //查询该路径下的所有文件夹
/**
 b.查找目录功能:
  客户任意输入一个路径,若路径格式正确则输出该路径下的所有文件夹名称
  若格式错误则提示“无效路径”
 * @param path
 */
      public void CheckDir(String path) {
            File file = new File(path);
            if (file.exists()) {
                  File[] temp = file.listFiles();
                  int t = 0;
                  for (int i = 0; i < temp.length; i++) {
                        t++;
                        if (temp[i].isDirectory()) {   //判断给定目录是否为正常的目录,如果path表示的是一个目录则返回true。
                              System.out.println(temp[i].getName() + "       文件夹");
                        } else {
                             
                        }
                  }
            } else {
                  System.out.println("路径无效");
            }
      }
     
  /**
 c.删除文件功能:
  客户任意输入一个路径,若路径格式正确则输出该路径下的所有文件名称
  并提示“是否要删除以下的文件:”
  若客户输入"Y"则删除,若输入"N"则不执行任何操作
  若格式错误则提示“无效路径”
       * @param path
       */
      public void DleFile(String path) {
            File file = new File(path);
            if (file.exists()) {
                  File[] temp = file.listFiles();
                  int t = 0;
                  for (int i = 0; i < temp.length; i++) {
                        t++;
                        if (temp[i].isFile()) {
                              temp[i].delete();     //删除给定目录文件
                        } else {
                       
                        }
           
                  }
            } else {
                  System.out.println("路径无效");
            }
      }
      /**
 d.删除目录功能:
  客户任意输入一个路径,若路径格式正确则输出该路径下的所有文件夹名称
  并提示“是否要删除以下的文件夹(注意:文件夹下面的所有内容将同时被删除):”
  若客户输入"Y"则删除,若输入"N"则不执行任何操作
  若格式错误则提示“无效路径”
       * @param dir
       * @return
       */
        public  boolean DleDir( File dir) {
            
              if (dir.isDirectory()) {
                  String[] children = dir.list();//递归删除目录中的子目录下
                  for (int i=0; i<children.length; i++) {
                      boolean flag = DleDir(new File(dir, children[i]));
                      if (!flag) {
                          return false;
                      }
                  }
              }
              // 目录此时为空,可以删除
              return dir.delete();
          }
}

 

 

主程序如下:

 

package com;

import java.io.File;
import java.util.Scanner;
public class Main {
      public static void main(String[] args) {
     
            FileTest f= new FileTest();
            boolean flag=true;
            while(flag){
                  try {
                  System.out.println("【查询文件请按1】【 查询目录请按2】【 删除文件请按3】【 删除目录请按4】【 输入其他数字退出】");
                  Scanner scanner= new Scanner(System.in);
            int a=scanner.nextInt();
            if(a==1){   //当a = 1时是查询目录
                  System.out.println("请输入你要查询【目录】的路径  格式只能为:G://a//aa");
                  Scanner scanner1= new Scanner(System.in);   //Scanner是SDK1.5新增的一个类,可是使用该类创建一个对象.
                  String path=scanner1.nextLine();
                  f.CheckFile(path);
            }else if(a==2){  //当a = 2时是查询目录
                  System.out.println("请输入你要查询【目录】的路径  格式只能为:G://a//aa");
                  Scanner scanner1= new Scanner(System.in);
                  String path=scanner1.nextLine();
                  f.CheckDir(path);
            }else if(a==3){  //当a = 3时是删除文件
                  System.out.println("请输入你要删除的【文件】的路径  格式只能为:G://a//aa");
                  Scanner scanner4= new Scanner(System.in);
                  String path=scanner4.nextLine();
                  System.out.println("是否要删除以下的文件?:输入Y则删除,若输入N则不执行任何操作");
                  String del=scanner4.nextLine();
                  if("Y".equalsIgnoreCase(del)){
                        f.DleFile(path);
                        System.out.println("删除成功");
                       
                  }else if("N".equalsIgnoreCase(del)){
                        flag=false;
                  }
            }
            else if(a==4){  //当a = 4时是删除目录
                  System.out.println("请输入你要删除的【目录】的路径  格式只能为:G://a//aa");
                  Scanner scanner4= new Scanner(System.in);
                  String path=scanner4.nextLine();
                  File file= new File(path);
                  if(file.exists()){
                        System.out.println("是否要删除以下的文件夹(注意:文件夹下面的所有内容将同时被删除):输入Y则删除,若输入N则不执行任何操作");
                        String del=scanner4.nextLine();
                        if("Y".equalsIgnoreCase(del)){
                              boolean flag1=f.DleDir(file);
                              if(flag1){
                                    System.out.println("删除成功!");
                              }else{
                                    System.out.println("删除失败!");
                              }
                             
                        }else if("N".equalsIgnoreCase(del)){
                              flag=false;
                        }
                  }else{
                        System.out.println("路径无效!请重新输入!");
                  }
            }else{
                  flag=false;
            }    
                  } catch (Exception e) {
                        System.out.println("你输入的格式错误 请重新输入!");
                  }
           
           
            }
           
      }
}

posted on 2018-04-14 15:39  黄志平  阅读(263)  评论(0编辑  收藏  举报

导航