黑马程序员技术交流社区
标题:
File类的问题
[打印本页]
作者:
NNERO
时间:
2014-4-26 20:44
标题:
File类的问题
本帖最后由 NNERO 于 2014-4-27 14:29 编辑
public class Text111
{
public static void main(String[] args)throws IOException
{
File f1 = new File("f:\\JAVA_learning\\base01.java");
File d = new File("src/com/itheim");
System.out.println(f1.length());//输出结果是:470
System.out.println(d.length());//输出结果是:4096
}
}
复制代码
如注释,这个length()返回的是什么长度?470是指这个文件大小是470字节,这个我懂,但是我用目录作为对象
打印的是4096。但是我这个目录下的文件总大小是11KB,所以不是总大小啊,
那么这时,这个length()返回的是什么。求解答!
作者:
世界公民
时间:
2014-4-26 20:57
本帖最后由 世界公民 于 2014-4-26 20:58 编辑
File类中的length()方法:
public long length()返回由此抽象路径名表示的文件的长度。如果此路径名表示一个目录,则返回值是不确定的。
返回:
此抽象路径名表示的文件的长度,以字节为单位;如果文件不存在,则返回 0L。对于表示特定于系统的实体(比如设备或管道)的路径名,某些操作系统可能返回 0L。
作者:
ò壞尛孩
时间:
2014-4-26 22:04
本帖最后由 ò壞尛孩 于 2014-4-26 22:08 编辑
public static void method_3()throws IOException
{
File f1=new File("c:/file.txt");
//记住判断一文件对象是否是文件或者目录时,必须要先判断该文件对象封装的
if(!f1.exists())
f1.createNewFile();
File f2=new File("c:/myclass");
f2.mkdirs();
sop("dir:"+f2.isDirectory());
sop("file:"+f1.isFile());
System.out.println(f1.length());
System.out.println(f2.length());
}
复制代码
你用我写的试一下,文件的长度取决于里面字节的长度,也就是内容的长度,而文件夹不管里面有没有内容都是返回0,说明length()对于文件夹对象不适用!毕老师的视频里面有说!
作者:
NNERO
时间:
2014-4-27 14:29
了解了,其实就文件夹不适用这个方法!OK,谢谢!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2