Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中获取文件夹大小_Java - Fatal编程技术网

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

如何在java中获取文件夹大小,java,Java,我要获取文件夹大小并重命名它, 如果我的文件夹大小超过500 mbs,请重命名文件夹,下载至MusicDownload import java.io.File; class folderSize { private static long getFolderSize(File folder) { long length = 0; File[] files = folder.listFiles(); int count = file

我要获取文件夹大小并重命名它, 如果我的文件夹大小超过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");
    }
}
导入java.io.File;
类文件夹大小{
私有静态长getFolderSize(文件文件夹)
{
长长度=0;
File[]files=文件夹.listFiles();
int count=files.length;
for(int i=0;i
如果您使用的是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);
      } 


长尺寸=0;
try(Stream walk=Files.walk(pathOfDirectory)){
尺寸=步行
.filter(文件::isRegularFile)
.mapToLong(p->{
试一试{
返回文件大小(p);
}捕获(IOE异常){
System.out.printf(“无法获取%s%n%s的大小”,p,e);
返回0升;
}
})
.sum();
}捕获(IOE异常){
System.out.printf(“IO错误%s”,e);
} 

请阅读“如何创建一个应用程序”。然后使用链接改进您的问题(不要通过评论添加更多信息)。否则,我们无法回答您的问题并帮助您。你告诉我们你想要什么,然后你扔掉了一些代码。但是你的确切问题是什么呢?这些路径表明你在谈论Android。与“普通”Java相比,Android在文件I/O(主要是权限)方面非常特殊。如果合适的话,你真的应该编辑你的问题来添加标签,并解释具体问题是什么以及你需要帮助的地方。