File的使用,文件夹遍历实例

在这里插入代码片File:是文件和路径名的抽象表示
文件和目录可以通过File封装成对象

File(String pathname)
File(String parent,String child)
File(File parent,String child)
				File f1 = new File("D:\\FileTest\\f1.txt");
        System.out.println(f1);//D:\FileTest\f1.txt

        File f2 = new File("D:\\FileTest","f1.txt");
        System.out.println(f2);//D:\FileTest\f1.txt

        File f3 = new File(new File("D:\\FileTest"),"f1.txt");
        System.out.println(f3);//D:\FileTest\f1.txt

创建文件
public boolean createNewFile() 文件名称不存在时,创建新的文件(文件不存在,创建文件返回true;文件存在,返回false)
public boolean mkdir() 创建由此抽象命名的路径(文件不存在,创建文件返回true;文件存在,返回false,创建多级目录也是返回false)
public boolean mkdirs() 创建由此抽象命名的路径,包括任何必须但不存在的父目录(文件不存在,创建文件返回true;文件存在,返回false)

			File f1 = new File("D:\\FileTest\\f1.txt");
        System.out.println(f1);//D:\FileTest\f1.txt

        System.out.println(f1.createNewFile());

        File f2 = new File("D:\\FileTest\\Test");
        System.out.println(f2.mkdir());

        File f3 = new File("D:\\FileTest\\Test1\\Test");
        System.out.println(f3.mkdirs());

判断和获取功能
boolean isDirectory() 测试此抽象路径名表示的文件是否为目录
boolean isFile() 测试此抽象路径名表示的文件是否为普通文件
boolean exists() 测试此抽象路径名表示的文件或目录是否存在
String getAbsolutePath() 返回此抽象路径名的绝对路径名字符串
String getPath() 将此抽象路径名转换为路径名字符串
String getName() 返回由此抽象路径名表示的文件或目录的名称
String[] list() 返回一个字符串数组,命名由此抽象路径名表示的目录中的文件和目录
File[] listFiles() 返回一个抽象路径名数组,表示由该抽象路径名表示的目录中的文件 (返回的是绝对路径)

			File f1 = new File("D:\\FileTest");
        System.out.println(f1.isDirectory());//true

        System.out.println(f1.isFile());//false

        File f2 = new File("D:\\FileTest\\f1.txt");
        System.out.println(f2.exists());//true

        System.out.println(f1.exists());//true

        System.out.println(f2.getAbsolutePath());//D:\FileTest\f1.txt

        System.out.println(f2.getPath());//D:\FileTest\f1.txt

        System.out.println(f2.getName());//f1.txt

			File f3 = new File("D:\\");
        String[] str = f3.list();
        for(String s:str){
            System.out.println(s);
        }
        System.out.println("**********************");
        File[] files = f3.listFiles();
        for(File f :files){
            System.out.println(f);
        }

删除功能
boolean delete() 删除由此抽象路径名表示的文件或目录。

遍历目录,查找目标文件

  /**
     *搜索目录下的全部文件,找到想要的文件
     * @param dir 被搜索的源目录
     * @param fileName  被搜索的文件名称
     */
   public static void searchFile(File dir,String fileName){
       //判断文件目录是否为空,是否是文件夹
        if (dir != null && dir.isDirectory()){
            //获取一级目录
            File[] files = dir.listFiles();
            //目录是否是空
            if (files != null && files.length>0) {
                //进行遍历
                for (File file : files) {
                    //判断是否是文件夹,是的话继续遍历
                    if (file != null && file.isDirectory()) {
                        searchFile(file, fileName);
                    } else {
                        //是文件的话进行判断,是否是我们要查找的目标
                        if (file.getName().contains(fileName)) {
                            System.out.println(file.getAbsoluteFile());
                        }

                    }
                }
            }
        }else{
            System.out.println("您当前搜索的不是文件夹");
        }
   }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值