XUST_Alon 2021-10-20 16:51 采纳率: 100%
浏览 204
已结题

File类中的length方法获取目录长度

在创建了File对象file后,调用file.length()获取目录长度,为什么有的目录返回值是0,有的却不是0 。而返回的这个数字,我也不是很清楚具体是什么。
具体情况如下:

File file1 = new File("src\\day17File\\demo01File\\00");
System.out.println("目录长度为:" + file1.length() + "字节");
File file2 = new File("src\\day17File\\demo01File");
System.out.println("目录长度为:" + file2.length() + "字节");

运行结果为:
目录的绝对路径为:C:\Users\MI\Desktop\java\Notes\Code\src\day17File\demo01File
目录长度为:0字节
目录长度为:4096字节
实际目录结构为:

img

按说,返回值不应该都为0吗,为什么会出现4096这样特殊的数值?

  • 写回答

2条回答 默认 最新

  • CSDN专家-sinJack 2021-10-20 16:55
    关注

    因为是文件对象,所以返回的是文件内容字节大小。
    获取目录长度通过listFiles()方法。

    File[] files = file.listFiles();
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月28日
  • 已采纳回答 10月20日
  • 创建了问题 10月20日