欢迎光临散文网 会员登陆 & 注册

Java File类

2023-03-03 12:15 作者:回到唐朝当少爷  | 我要投稿

File

  • File对象就表示一个路径,可以是文件的路径,也可以是文件夹的路径

  • 路径可以存在,也可以不存在

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

File常见的成员方法

length()细节:

细节1:这个方法只能获取文件的大小,单位是字节,如果单位我们需要MB,GB,可以不断除以1024

细节2:这个方法无法获取文件夹的大小,要获取需要把这个文件夹里面所有的文件大小都累加在一起

注意:

  1. delete方法默认只能删除文件和空文件夹,且直接删除不走回收站

  2. 对于creatNewFile方法

    • 如果当前路径表示的文件是不存在的,则创建成功,方法返回true

    • 如果已经存在,创建失败,返回false

    • 如果父级路径是不存在的,则方法会有异常IOException

    • createNewFile方法创建的一定是文件,如果路径中不包含后缀名则创建一个没有后缀的文件

  3. mkdir细节:

    • Windows当中路径是唯一的,如果当前路径已经存在,则创建失败,返回false

    • mkdir只能创建单级文件夹,无法创建多级文件夹

  4. mkdirs:既可以创建单级文件夹,亦可以创建多级文件夹,以后可以用其代替mkdir

  5. delete:如果删除有内容的文件夹删除失败

细节:

  • 当调用者File表示的路径不存在时,返回null

  • 当调用者File表示的路径是文件时,返回null

  • 当调用者File表示的路径是一个空文件夹时,返回一个长度为0的数组

  • 当调用者File表示的路径是一个有内容的文件夹时,将里面所有文件和文件夹的路径放在File数组中返回,包含隐藏文件夹

  • 当调用者File表示的路径是需要权限才能访问的文件夹时,返回null

所谓的文件名过滤器,就是一个函数式接口

事实上只需掌握ListFiles即可

例题

1.创建a.txt文件

2.寻找某个文件夹中是否存在以.avi截尾的电影

3.找到电脑中所有以avi结尾的电影

思路:递归

4.删除一个多级文件夹

  • 先删除文件夹里面的所有内容

  • 再删除自己


Java File类的评论 (共 条)

分享到微博请遵守国家法律