File类定义使递归:
程序员文章站
2022-04-08 22:10:39
...
File类
1.java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建,查找和删除操作 等。
2.构造方法
public File(String pathname):通过将给定的路径名字符串转换为抽象路径名来创建
的File实例
3.static String pathSeparator 与系统有关的路径分隔符,表示为一个字符串
static char pathSeparatorChar 与系统有关的路径分隔符。
输出结果 win(;) liunx(:)
static String separator 与系统有关的默认名称分隔符,它表示为一个字符串 (\)
static char separatorChar 与系统有关的默认名称分隔符。
输出结果 win(\) liunx (/)
4.路径:
绝对路径:是一个完整的路径,以盘符开始的路径
相对路径:是一个简化的路径
相对指的是相对于当前项目的根路径,如果使用当前项目的根路径,路径可以简化
D:\\com\\abc\\abc.txt--->>简化为:123.txt
注意:
1.路径是不区分大小写
2.路径中的文件名称分隔符windos使用反斜杠,反斜杠是转义字符,两个反斜杠
代表一个普通的反斜杠。
1. file类创建删除功能的方法
1.createNewFile(): 当且仅当具有该名称的文件尚不存在,创建一个新的空文件
delete 有就返回true 没有就返回false 。 直接删除
mkdir
mkdis 创建多级目录
2. File类遍历(文件夹)目录功能
Public String[] list():返回一个String数组,表示该File目录中的所有子文件或目录
获取到的是个字符串,文档下所有目录的名字
public File[] listFile():返回一个File数组,表示该FIle目录中的所有的子文件或目录
这个获取到得是绝对路径加目录 file类
递归:
1.递归:方法自己调用自己
2.递归的分类
递归分为直接 和 间接
直接递归自己调用自己
间接递归是A方法调用B方法,B方法在调用A方法。
注意: 递归一定有条件限制可以停下来 栈溢出
构造方法禁止递归
递归的使用:当调用方法的时候,方法的主体不变,每次调用的方法参数不同,可以使用递归
文件过滤器
1.我们可以使用过滤器来实现
2. 在FIle类中有两个和ListFiles重载的方法,方法的参数传递的就是过滤器
需要重写过滤的方法,自己见过滤器,
File[] listFiles(FileFiles filter)
accept方法返回值是一个布尔值
true就会把传递过去的File对象保存到File数组中
false就不会把传递过去的FIle对象保存到File数组中
用于抽象路径名的过滤器。
作用:用来过滤文件(File对象)
例如:
File[] file = dir.listFiles(new FileFilterImpl)
1.listFiles方法会对构造方法中传递的目录进行遍历,获取目录中的每一个文件/文件夹
封装为File对象
2.listFiles方法会调用参数传递的过滤器中的方法accept
3.listFiles方法会把遍历得到的每一个file对象,传递过accept方法参数pathname.
、
抽象方法:用来过滤文件的方法
File[] lsitFiles(FilenameFilter filter) 实现此接口的类实例可用于过滤器文件名
作用:用于过滤文件名
lambda表达式: 优化匿名内部类(接口中只有一个抽象方法)
File[] fiel = dir.listFiles(()->{
方法体执行的执行体
})