java 遍历一个新建的空文件夹,判断数组是否为空,控制台显示不为空

问题描述:

为什么用方法listFiles()遍历空文件夹的数组不为空,而数组的长度为0呢?重点是问空文件夹不为空。不用解释长度0的问题了。java新人求解答!

图片说明

数组你可以理解为装数据的容器,数组已经初始化过了(通过file.listFiles(),如果文件夹为空的,就返回一个空的数组,注意,是内容为空,但不是容器为null),所以容器有了,但里面的数据可能为0,这就好比瓶子里没有任何东西一样,但瓶子还是存在的

你的files对象已经被初始化了,所以怎么会为null呢?

不能用这个来判断

你可以System.out.println((files.length==0)+","+files.length);

文件夹已存在,自然不是空的

文件夹已经存着不可能为null,只有可能files.length为0;就是说文件夹内部没有文件

数组当然是实例化以后才能东西,虽然你的子文件夹是空的,但是对象已经实例化,只是数组中没有元素。所以长度为空