File类:
是文件和目录路径名的抽象表示
主要用于文件和目录的创建,删除,获取,判断是否存在,遍历,大小
File类是一个与系统无关的类,任何操作系统都可以使用这个类的方法
三个单词:File:文件:directory:文件夹/目录:path:路径
File静态成员变量:
static String pathSeparator 与系统有关的路径分隔符
static String separator 与系统有关的文件分隔符
static char pathSeparatorChar 与系统有关的路径分隔符
static char separatorChar 与系统有关的文件分隔符
操作路径:路径不能写死了
C:\develop\a\a.txt windows
C:/develop/a/a.txt linux
正确写法:
C:"+File.separator+"develop"+File.separator+"a"+File.separator+"a.txt"
绝对路径和相对路径区别:
绝对路径:是一个完整的路径,以盘符开始的路径
相对路径:是一个简化的路径,相对指的是相当于当前项目的根目录
如果使用当前项目的根目录,路径可以简化书写
注意:
1.路径是不区分大小写
2.路径中的文件夹名称分隔符windo使用反斜杠,
反斜杠是转义字符,两个反斜杠代表一个普通的反斜杠
File构造方法:
File(String name) 根绝指定的路径来创建File对象
注意:可以是文件头和尾,相对,绝对路径,可以存在,不存,不考虑真假。
File(S sparent,S child) 根据字符串类型的父级路径和子级路径来创建File对象
File(F parent,S hild) 根据File类型的父级路径和子级路径来创建File对象
File获取功能
String getAbsolutePath() 获取绝对路径
String getPath() 获取构造方法中的路径
String getName() 获取文件或文件夹名称
long length() 获取文件的大小(字节)(如果不存在则返回0)
文件夹大小没有概念
File判断功能
boolean exists() 判断文件或文件夹路径是否存在
boolean isDirectory() 判断路径是否是文件夹路径
boolean isFile() 判断路径是否是文件路径
File创建和删除
boolean createNewFile() 创建一个新的文件
boolean mkdir() 创建文件夹路径(单级)
boolean mkdirs() 创建文件夹路径(多级)
boolean delete() 删除文件或文件夹(文件夹必须为空)
File获取所有功能
String[] list() 获取文件夹所有内容返回的是字符串类型的数组
File[] listFiles() 获取文件夹所有内容返回时File类型数组 (如果单独传入文件路径会报空)
递归:
什么是递归:指在当前方法调用自己的这种现象
递归的分类:
直接递归:方法自身调用自己
间接递归:间接A调用B,B调用C,C调用A方法
注意事项:
一定要有条件限定,能够停止下来,否则会发生栈内存溢出异常
有限定条件,但是次数太多,也会发生栈内存溢出
构造方法是不能递归的
递归的使用前提:
当调方法的时候,方法主体不变,每次调用的参数不同,可以使用递归
FileFilter过滤器:过滤文件的方法
boolean accept(File pathname) 过滤文件的方法
boolean accept(File pathname,String name) 测试指定文件是否应该包含在某一文件
两个过滤器接口是没有实现类的, 需要重写accept,在方法中自己定义过滤 |
|