JavaI/O系统

File类

file类既能代表一个特定文件的名称,又能代表一个目录下的一组文件的名称。如果指的是一个文件集,则可以对此集合调用list()方法,这个方法会返回一个字符数组。很容易就可以立即返回的是一个数组而不是某个更具有灵活性的类容器,因为元素的个数是固定的,所以如果想取得不同的目录列表,只需要在创建一个不同的File对象就可以。

目录列表器

假设我们查看一个目录列表,使用两种方法来使用File对象。如果调用不带参数的list(),便可以获得此File对象包含的全部列表。
在这里插入图片描述在这里插入图片描述DirFilter类实现了FilenameFilter接口。DirFilter这个类存在的唯一原因是将accept()方法,创建这个类的目的是将accept()方法提供给list用,使得list()可以毁掉accept(),进而决定那些文件包含在列表中。
accept()方法必须接受一个代表某个特定文件所在目录的File对象,以及包含该文件名的一个String。list()方法会为目录对象下的每个文件名调用accept(),来判断该文件是否包含在内,判断结果由accept()返回的布尔值表示。
在这里插入图片描述

  • 匿名内部类
    在这里插入图片描述传向filter()的参数必须是final的,这样才能使用来自该类范围之外的对象。
    对以上程序进行改进,定义一个作为list()参数的匿名内部类:
    在这里插入图片描述既然匿名内部类直接使用args[0],则传递给main()方法的参数现在就是final的。该例自展示了匿名内部类怎样通过创建特定的一次性的类来哦解决问题。

  • 目录实用工具
    下面的实用工具类就可以通过使用local()方法产生由本地目录中的文件构成的File对象数组,或者通过使用walk()方法给定目录下的由整个目录树中所有文件构成的List

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值