当前位置: 首页 > 知识库问答 >
问题:

如何在java中获取文件夹大小

鲜于俊侠
2023-03-14

我想获取文件夹大小并重命名它,如果我的文件夹大小超过500 mbs然后重命名文件夹,下载到MusicDownload

import java.io.File;

class folderSize {
    private static long getFolderSize(File folder)
    {
        long length = 0;
        File[] files = folder.listFiles();
        int count = files.length;
        for (int i = 0; i < count; i++) {
            if (files[i].isFile()) 
              length += files[i].length();
            }
            else {
                length += getFolderSize(files[i]);
            }
        }
        return length;
   }
    public static void main(String[] args)

    {
        File file1 = new File("/storage/emulated/0/Download");
        long size = getFolderSize(file1);
        System.out.println("Size of " + file1 + " is "+ (long)size / (1024 * 1024)+ " MB");
    }
}

共有1个答案

陶唯
2023-03-14

如果您使用的是java8,可以得到如下目录大小


     long size = 0;
      try (Stream<Path> walk = Files.walk(pathOfDirectory)) {

          size = walk
                  .filter(Files::isRegularFile)
                  .mapToLong(p -> {
                      try {
                          return Files.size(p);
                      } catch (IOException e) {
                          System.out.printf("Failed to get size of %s%n%s", p, e);
                          return 0L;
                      }
                  })
                  .sum();

      } catch (IOException e) {
          System.out.printf("IO errors %s", e);
      } 

 类似资料:
  • 问题内容: 我使用以下代码实例化了一个对象: 如何获得此文件的大小? 是什么区别,和? 问题答案: 使用类中的方法。从javadocs: 返回此抽象路径名表示的文件的长度。如果此路径名表示目录,则未指定返回值。 对于问题的第二部分,直接来自的javadocs: 返回此抽象路径名所命名的分区上该虚拟机可用的字节数 返回此抽象路径名命名的分区的大小 返回此抽象路径名所命名的分区中未分配的字节数

  • 问题内容: 如何在Java中检索文件夹或文件的大小? 问题答案: 如果文件不存在,则以字节为单位返回文件的长度。没有内置的方法来获取文件夹的大小,你将不得不递归遍历目录树(使用代表目录的文件对象的方法)并为自己积累目录大小: 警告:此方法不足以用于生产。可能返回并导致。另外,它不考虑符号链接,并且可能具有其他故障模式。

  • 问题内容: 我在项目的根目录中有一个资源文件夹/程序包,我“不想”加载某个文件。如果我想加载某个文件,我将使用class.getResourceAsStream,我会很好的!我实际上想要做的是在资源文件夹中加载一个“文件夹”,循环访问该文件夹中的文件,并获取每个文件的流,并读取内容…假设在运行时之前未确定文件名… 我该怎么办?有没有一种方法可以获取jar文件中“文件夹”中文件的列表?请注意,带有资

  • 本文向大家介绍如何在C#中获取文件大小?,包括了如何在C#中获取文件大小?的使用技巧和注意事项,需要的朋友参考一下 FileInfo类用于处理文件及其在C#中的操作。 它提供了用于创建,删除和读取文件的属性和方法。它使用StreamWriter类将数据写入文件。它是System.IO命名空间的一部分。 Directory属性检索代表文件父目录的对象。 DirectoryName属性检索文件的父目录

  • 我想通过使用“文件类”从项目文件夹中获取文件,我如何做到这一点?

  • 互联网上有一些关于C#计算文件夹大小的文献。但是找不到Java。 有简单的方法知道文件夹大小吗?在Gen2 如果没有,如何计算? 在互联网上,有几个例子是关于C#和powershell的(2)。用Java有什么办法吗?