java基础学习--file类 = 2020/10/4

file类

java.io.file类
文件和目录路径名的抽象表示形式。
java把电脑中的文件和文件夹封装为了一个file类。使用file类对文件和文件夹进行操作。
创建一个文件/文件夹
删除文件/文件夹
获取文件/文件夹
判断文件/文件夹是否存在
对文件夹进行遍历
获取文件的大小
file类是一个与系统无关的类,任何的操作系统都可以使用这个类中的方法
file
directory:文件夹/目录
path:路径

绝对路径
相对路径
file类的构造方法:
file(parent string,child string)
file(parent file,chile string)
file(pathname string)
获取功能方法
public String getAbsolutePath():返回绝对路径
public String getPath(): 将此file转换为路径名字符串
public String getName(): 返回由此File表示的文件或目录的名称
public long length(): 返回由此file表示的文件的长度
判断功能的方法
public boolean exists() : 此file表示的文件或目录是否实际存在
public boolean isDirectory(): 此file是否为目录
public boolean isFile():
创建删除功能的方法
public boolean createNewFile(): 当且仅当具有该名称的文件尚不存在时,创建一个新的空文件
public boolean delete():
public boolean mkedir(): 创建由此file表示的目录
public boolean mkdirs():创建由此file表示的目录,包括任何必须单不存在的父目录

遍历方法
public String[] list() :返回的字符串在该目录下的抽象路径名的文件和目录命名为数组。
public String[] listFiles(): 文件的路径名为数组。
public String[] list(FilenameFilter filter)
public String[] listFiles(FileFilter filter)
public String[] listFiles(FilenameFilter filter) 方法的重载 ,过滤器 ,Filter为接口 需重写实现类accpet

递归过滤:

public class Demo02 {
    public static void main(String[] args) {
        File file = new File("C:\\Users\\779\\Desktop\\java学习");
        new Demo02().getFiles(file);
    }
    //递归 打印目录  参数传递file类型的目录
    //方法中对目录进行遍历
    public void getFiles(File filename){
        for (File file : filename.listFiles()) {
            if(file.toString().toLowerCase().endsWith(".txt")){
                System.out.println(file.getPath());
            }
            if(file.isDirectory()){
                getFiles(file);
            }
        }

    }
}

过滤器递归过滤:

public class Demo02 {
    public static void main(String[] args) {
        File file = new File("C:\\Users\\779\\Desktop\\java学习");
        new Demo02().getFiles(file);
    }
    //递归 打印目录  参数传递file类型的目录
    //方法中对目录进行遍历
    public void getFiles(File filename){

        for (File file : filename.listFiles(new firstFiltter())) {
            if(file.isDirectory()){
                getFiles(file);
            }else{
                System.out.println(file);
            }

        }

    }
}
//重写类实现接口
public class firstFiltter implements FileFilter {
    @Override
    public boolean accept(File pathname) {
        if(pathname.isDirectory()){
            return true;

        }
        return pathname.toString().toLowerCase().endsWith(".txt");
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值