通过路径中取得文件大小Java_Java如何获取目录的大小?

  • Post author:
  • Post category:java


在Java程序中,如何获取目录的大小?

以下示例显示如何通过FileUtils类的FileUtils.sizeofDirectory(File Name)方法获取目录的大小。

package com.yiibai;

import java.io.File;

import org.apache.commons.io.FileUtils;

public class DirectorySize {

public static void main(String[] args) {

String dir = “F:/worksp/javaexamples”;

long size = FileUtils.sizeOfDirectory(new File(dir));

System.out.println(“Size of ” + dir + “: ” + size + ” bytes”);

}

}

执行上面示例代码,得到以下结果 –

Size of F:/worksp/javaexamples: 16935629 bytes

示例-2

以下是Java中获取目录的大小的另一个示例。

package com.yiibai;

import java.io.File;

import java.util.ArrayList;

public class DirectorySize2 {

public static void main(String[] args) {

String dir = “F:\\worksp\\javaexamples\\java_directories”;

long folderSize = findSize(dir);

System.out.println(“Size of ” + dir + ” in byte :” + folderSize);

}

public static long findSize(String path) {

long totalSize = 0;

ArrayList directory = new ArrayList();

File file = new File(path);

if (file.isDirectory()) {

directory.add(file.getAbsolutePath());

while (directory.size() > 0) {

String folderPath = directory.get(0);

System.out.println(“Size of this :” + folderPath);

directory.remove(0);

File folder = new File(folderPath);

File[] filesInFolder = folder.listFiles();

int noOfFiles = filesInFolder.length;

for (int i = 0; i < noOfFiles; i++) {

File f = filesInFolder[i];

if (f.isDirectory()) {

directory.add(f.getAbsolutePath());

} else {

totalSize += f.length();

}

}

}

} else {

totalSize = file.length();

}

return totalSize;

}

}

执行上面示例代码,得到以下结果 –

Size of this :F:\worksp\javaexamples\java_directories

Size of this :F:\worksp\javaexamples\java_directories\bin

Size of this :F:\worksp\javaexamples\java_directories\dir11

Size of this :F:\worksp\javaexamples\java_directories\src

Size of this :F:\worksp\javaexamples\java_directories\bin\com

Size of this :F:\worksp\javaexamples\java_directories\dir11\dir12

Size of this :F:\worksp\javaexamples\java_directories\src\com

Size of this :F:\worksp\javaexamples\java_directories\bin\com\yiibai

Size of this :F:\worksp\javaexamples\java_directories\dir11\dir12\dir13

Size of this :F:\worksp\javaexamples\java_directories\src\com\yiibai

Size of F:\worksp\javaexamples\java_directories in byte :26713

¥ 我要打赏

纠错/补充

收藏

加QQ群啦,易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。



版权声明:本文为weixin_39692037原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。