docs: 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();
  		}
  	}