Java File类
File
File对象就表示一个路径,可以是文件的路径,也可以是文件夹的路径
路径可以存在,也可以不存在

推荐使用File进行拼接,因为不同操作系统的分隔符不一样
File常见的成员方法

length()细节:
细节1:这个方法只能获取文件的大小,单位是字节,如果单位我们需要MB,GB,可以不断除以1024
细节2:这个方法无法获取文件夹的大小,要获取需要把这个文件夹里面所有的文件大小都累加在一起

注意:
delete方法默认只能删除文件和空文件夹,且直接删除不走回收站
对于creatNewFile方法
如果当前路径表示的文件是不存在的,则创建成功,方法返回true
如果已经存在,创建失败,返回false
如果父级路径是不存在的,则方法会有异常IOException
createNewFile方法创建的一定是文件,如果路径中不包含后缀名则创建一个没有后缀的文件
mkdir细节:
Windows当中路径是唯一的,如果当前路径已经存在,则创建失败,返回false
mkdir只能创建单级文件夹,无法创建多级文件夹
mkdirs:既可以创建单级文件夹,亦可以创建多级文件夹,以后可以用其代替mkdir
delete:如果删除有内容的文件夹删除失败

细节:
当调用者File表示的路径不存在时,返回null
当调用者File表示的路径是文件时,返回null
当调用者File表示的路径是一个空文件夹时,返回一个长度为0的数组
当调用者File表示的路径是一个有内容的文件夹时,将里面所有文件和文件夹的路径放在File数组中返回,包含隐藏文件夹
当调用者File表示的路径是需要权限才能访问的文件夹时,返回null

所谓的文件名过滤器,就是一个函数式接口
事实上只需掌握ListFiles即可
例题
1.创建a.txt文件
2.寻找某个文件夹中是否存在以.avi截尾的电影
3.找到电脑中所有以avi结尾的电影
思路:递归
4.删除一个多级文件夹
先删除文件夹里面的所有内容
再删除自己