cn.hutool.core.io.FileUtil.size()方法的使用及代码示例

x33g5p2x  于2022-01-19 转载在 其他  
字(2.2k)|赞(0)|评价(0)|浏览(770)

本文整理了Java中cn.hutool.core.io.FileUtil.size()方法的一些代码示例,展示了FileUtil.size()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。FileUtil.size()方法的具体详情如下:
包路径:cn.hutool.core.io.FileUtil
类名称:FileUtil
方法名:size

FileUtil.size介绍

[英]计算目录或文件的总大小
当给定对象为文件时,直接调用 File#length()
当给定对象为目录时,遍历目录下的所有文件和目录,递归计算其大小,求和返回
[中]计算目录或文件的总大小
当给定对象为文件时,直接调用 文件#长度()
当给定对象为目录时,遍历目录下的所有文件和目录,递归计算其大小,求和返回

代码示例

代码示例来源:origin: looly/hutool

/**
 * 计算目录或文件的总大小<br>
 * 当给定对象为文件时,直接调用 {@link File#length()}<br>
 * 当给定对象为目录时,遍历目录下的所有文件和目录,递归计算其大小,求和返回
 * 
 * @param file 目录或文件
 * @return 总大小,bytes长度
 */
public static long size(File file) {
  Assert.notNull(file, "file argument is null !");
  if (false == file.exists()) {
    throw new IllegalArgumentException(StrUtil.format("File [{}] not exist !", file.getAbsolutePath()));
  }
  if (file.isDirectory()) {
    long size = 0L;
    File[] subFiles = file.listFiles();
    if (ArrayUtil.isEmpty(subFiles)) {
      return 0L;// empty directory
    }
    for (int i = 0; i < subFiles.length; i++) {
      size += size(subFiles[i]);
    }
    return size;
  } else {
    return file.length();
  }
}

代码示例来源:origin: looly/hutool

/**
 * 计算目录或文件的总大小<br>
 * 当给定对象为文件时,直接调用 {@link File#length()}<br>
 * 当给定对象为目录时,遍历目录下的所有文件和目录,递归计算其大小,求和返回
 * 
 * @param file 目录或文件
 * @return 总大小,bytes长度
 */
public static long size(File file) {
  Assert.notNull(file, "file argument is null !");
  if (false == file.exists()) {
    throw new IllegalArgumentException(StrUtil.format("File [{}] not exist !", file.getAbsolutePath()));
  }
  if (file.isDirectory()) {
    long size = 0L;
    File[] subFiles = file.listFiles();
    if (ArrayUtil.isEmpty(subFiles)) {
      return 0L;// empty directory
    }
    for (int i = 0; i < subFiles.length; i++) {
      size += size(subFiles[i]);
    }
    return size;
  } else {
    return file.length();
  }
}

代码示例来源:origin: cn.hutool/hutool-all

/**
 * 计算目录或文件的总大小<br>
 * 当给定对象为文件时,直接调用 {@link File#length()}<br>
 * 当给定对象为目录时,遍历目录下的所有文件和目录,递归计算其大小,求和返回
 * 
 * @param file 目录或文件
 * @return 总大小,bytes长度
 */
public static long size(File file) {
  Assert.notNull(file, "file argument is null !");
  if (false == file.exists()) {
    throw new IllegalArgumentException(StrUtil.format("File [{}] not exist !", file.getAbsolutePath()));
  }
  if (file.isDirectory()) {
    long size = 0L;
    File[] subFiles = file.listFiles();
    if (ArrayUtil.isEmpty(subFiles)) {
      return 0L;// empty directory
    }
    for (int i = 0; i < subFiles.length; i++) {
      size += size(subFiles[i]);
    }
    return size;
  } else {
    return file.length();
  }
}

相关文章