关于文件(File)操作中,listFiles是否返回null

通过File的构造函数来创建一个文件对象,使用前并没有明确区分文件与目录

File file1=new File("E:/file/my/world");//文件夹(目录)

File file2=new File("E:/file/my/hello2/hello2.txt");//文件

对于listFiles方法,理论上只能对目录使用,用于获取该目录下的所有文件和目录

但listFiles方法属于File类,使用前并不知道要操作的是文件还是目录

于是对于file1对象进行了尝试

File[] files1=file1.listFiles();//文件

Objects.isNull(files1)-->true

结果发现变量files1实际为null

接着又想到那如果是空文件夹,会是什么情况,为什么在使用的过程中遍历到了却没有报错呢

File[] files2=file2.listFiles();

Objects.isNull(files2)-->false//空文件夹

经过验证发现即使是空的目录对象使用listFiles也会得到一个File[]对象,只是长度为0,而当指定的目录不存在或权限不足的情况下,也可能返回null

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值