查询目录,询问文件是否删除IO操作

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

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 86180
 * Date: 2024-01-20
 * Time: 19:36
 */
//扫描目录,扫描含有目的内容,询问是否删除
public class Demo13 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        //1.输入一个要扫描的目录
        System.out.println("请输入要扫描的路径: ");
        String path = scanner.next();
        File rootPath = new File(path);
        if(!rootPath.isDirectory()){
            System.out.println("您输入的路径有误!!");
            return;
        }
        //2.输入查询的关键词
        System.out.println("请输入查询的关键词:");
        String word = scanner.next();
        //3.针对这个关键词开始扫描
        scanDir(rootPath,word);
    }
    private static void scanDir(File rootPath,String word){
        //1.列出rootPath下所有文件和目录
        File[] files = rootPath.listFiles();
        if (files==null){
            //当前目录为null,直接返回

            return;
        }
        //2.遍历
        for (File file: files) {
            //添加日志
            System.out.println("当前扫描文件:"+file.getAbsoluteFile());//???
            if(file.isFile()){
                //询问
                checkDelete(file,word);
            }else {
                //递归
                //scanDir(file,word);
            }
        }
    }
    private static void checkDelete(File file,String word){
        if(!file.getName().contains(word)){
            //不是目标文件,不用管
            System.out.println("不是目标文件");
            return;
        }
        //删除
        System.out.println("当前文件为:" + file.getAbsoluteFile()+"是否删除:");
        Scanner scanner = new Scanner(System.in);
        String choice = scanner.next();
        if(choice.equals("Y")||choice.equals("y")){
            file.delete();
            System.out.println("删除完毕");
        }else {
            //用户输入啥都删除
            System.out.println("取消删除");
        }
    }
}

代码结果:

请输入要扫描的路径: 
c:
请输入查询的关键词:
test
当前扫描文件:c:\\$Recycle.Bin
当前扫描文件:c:\\$SysReset
当前扫描文件:c:\\$WinREAgent
当前扫描文件:c:\\Documents and Settings
当前扫描文件:c:\\Dtools
当前扫描文件:c:\\DumpStack.log.tmp
不是目目标文件
当前扫描文件:c:\\hiberfil.sys
不是目目标文件
当前扫描文件:c:\\hp
当前扫描文件:c:\\Intel
当前扫描文件:c:\\Microsoft
当前扫描文件:c:\\mingw64
当前扫描文件:c:\\PerfLogs
当前扫描文件:c:\\Program Files
当前扫描文件:c:\\Program Files (x86)
当前扫描文件:c:\\ProgramData
当前扫描文件:c:\\Recovery
当前扫描文件:c:\\SolidWorks_Flexnet_Server
当前扫描文件:c:\\swapfile.sys
不是目目标文件
当前扫描文件:c:\\System Volume Information
当前扫描文件:c:\\System.sav
当前扫描文件:c:\\test.text
当前文件为:c:\\test.text是否删除:
y
删除完毕
当前扫描文件:c:\\test.txt
当前文件为:c:\\test.txt是否删除:
y
删除完毕
当前扫描文件:c:\\Test3
当前扫描文件:c:\\Users
当前扫描文件:c:\\Windows
当前扫描文件:c:\\书籍
当前扫描文件:c:\\新建文件夹
当前扫描文件:c:\\程序代码
当前扫描文件:c:\\面试

Process finished with exit code 0
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值