黑马程序员技术交流社区
标题:
请问通过File的length()方法能不能判断文件夹是否为空
[打印本页]
作者:
SYAD
时间:
2015-9-5 13:46
标题:
请问通过File的length()方法能不能判断文件夹是否为空
请问通过File的length()方法能不能判断文件夹是否为空,例如:
File f = new File("D:\\");
if(f.length()>0)
{
System.out.println("文件夹不为空");
}
作者:
lion_good
时间:
2015-9-5 20:42
首先,必须理解File的含义 , 在传统的理解上(特别是unix/linux类操作系统中), 一切都可以理解为文件,包括普通文件,目录,字符设备,块设备,管道,套接字等,java中的File一般就保持了这种理解,也就是说,你说理解的普通文件和目录是不做区分的.
然后 根据该方法的注释:
* @return The length, in bytes, of the file denoted by this abstract
* pathname, or <code>0L</code> if the file does not exist. Some
* operating systems may return <code>0L</code> for pathnames
* denoting system-dependent entities such as devices or pipes.
复制代码
返回0除了该文件(包括目录)为空外,还表示文件不存在,该文件是设备文件或管道文件等情况.
作者:
asinzuo
时间:
2015-9-5 22:28
你这个length方法的作用理解错了,它不是判断文件大小的,它是用来判断文件名字的长度的
看看API说明:
length
public long length()返回由此抽象路径名表示的文件的长度。如果此路径名表示一个目录,则返回值是不确定的。
返回:
此抽象路径名表示的文件的长度,以字节为单位;如果文件不存在,则返回 0L。对于表示特定于系统的实体(比如设备或管道)的路径名,某些操作系统可能返回 0L。
作者:
kingxiao
时间:
2015-9-5 22:41
不是有isEmpty()
作者:
wunairensheng95
时间:
2015-9-5 22:43
不懂就看源码嘛 图片上写的很清楚了 length()是判断一个文件大小的 单位是字节 如果对象是目录 那么返回值不确定 如果文件不存在 则返回0L
QQ图片20150905223915.png
(14.6 KB, 下载次数: 79)
下载附件
2015-9-5 22:41 上传
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2