File(2) listFiles 文件过滤(FileFilter) 父目录getParentFile

//ListFilesDemo 获取一个目录的所有子项-----------------
package day0824;

import java.io.File;

public class ListFilesDemo {

    public static void main(String[] args) {
        File dir = new File(".");//当前目录
        if(dir.isDirectory()){//如果是目录
            File[] subs = dir.listFiles();
            for(File sub : subs){
                String name = sub.getName();
                long length = sub.length();
                System.out.println(name+":"+length);
            }

        }

    }
    /**
     * 运行结果:
.classpath:662
.project:1038
.settings:4096
build:0
demo:4096
src:4096
WebContent:0
     */

}

//FileFilterDemo 文件循环过滤--------------
/**
 * listFile方法支持过滤器
 * 实现该接口需要实现抽象方法
 * boolean accept(File f)
 * 该方法要求我们定义过滤条件
 * 
 * listFile会将当前目录下
 * 满足accept方法的子项返回
 */
package day0824;

import java.io.File;
import java.io.FileFilter;

public class FileFilterDemo {

    public static void main(String[] args) {
        File dir = new File(".");
        File[] subs = dir.listFiles(new MyFileFilter());
        for(File sub : subs){
            String name = sub.getName();
            long length = sub.length();
            System.out.println(name+":"+length);
        }

    }
}
/**
 * 文件名开头为点号的文件过滤出来
 */
class MyFileFilter implements FileFilter{
    @Override
    public boolean accept(File file) {
        System.out.println("正在过滤的文件:"+file.getName());
        return file.getName().startsWith(".");
    }

}
/**运行结果:
 正在过滤的文件:.classpath
正在过滤的文件:.project
正在过滤的文件:.settings
正在过滤的文件:build
正在过滤的文件:demo
正在过滤的文件:src
正在过滤的文件:WebContent
.classpath:662
.project:1038
.settings:4096
 */
 //创建多级目录下的一个文件-------------------------------
/**
 * 首先创建父目录,然后创建文件
 */
package day0824;

import java.io.File;
import java.io.IOException;

public class ParentDirDemo {

    public static void main(String[] args) throws IOException {
        //在项目根目录下创建a/b/c/test.txt
        File file = new File("a"
                        +File.separator+"b"
                        +File.separator+"c"
                        +File.separator+"test.txt");

        File parent = file.getParentFile();//取得父目录
        if(!parent.exists()){//父目录不存在,就创建
            parent.mkdirs();
        }
        if(!file.exists()){//文件不存在,就创建
            file.createNewFile();
        }
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值