递归求一个文件夹大小(二)

public class Test1 {    public static void main(String[] args) {        // 统计文件夹大小        long len = getDirLength(new File("D:\\JavaSE"));        System.out.println(len + "字节");    }    // 返回值long类型,参数列表:File dir    public static long getDirLength(File dir) {        // 定义统计变量        long len = 0;

        // 获取目录下的所有子内容        File[] files = dir.listFiles();        // 判断是否为空        if (files != null) {            for (File file : files) {                // 如果是文件,累计文件的大小(递归出口)                if (file.isFile()) {                    len += file.length();                } else {                    // 如果是文件夹,就递归调用                    len += getDirLength(file); // 别忘了累加这个子文件夹的大小                }            }        }        return len;    }}

原文地址:https://www.cnblogs.com/robotsu/p/11525405.html

时间: 2024-11-10 07:46:29

递归求一个文件夹大小(二)的相关文章

递归求一个文件夹的大小

建立一个任意路径的对象求取该路径下文件夹的大小:public class Test { public static void main(String[] args) throws IOException {//创建文件对象 File file = new File("D:\\JavaSE"); System.out.println(method(file)); }//写方法求文件大小 public static long method(File file) { long line =

Linux查看一个文件夹大小

1.Linux查看一个文件夹大小: du -sh /home/yangkun [[email protected] bin]$ du -sh /home/yangkun/ 164M /home/yangkun/ 2.Linux查看某个目录下所有文件的大小:du -h /home/yangkun [[email protected] bin]$ du -h /home/yangkun/ 4.0K /home/yangkun/.config/abrt 8.0K /home/yangkun/.conf

Linux递归解压缩一个文件夹下的所有文件

gunzip -r hongchangfirst/data 如何递归删除那些剩余的非log结尾的文件? 先列出确认一下: find hongchangfirst/data -type f ! -name "*.log" 然后真正的删除: find hongchangfirst/data -type f ! -name "*.log" -exec rm -f {} \; 记住后边-exec一定要加空格,否则会出现find: missing argument to `-

(转)在lua中递归删除一个文件夹

原文地址:http://www.cocoachina.com/bbs/read.php?tid=212786 纯lua纯 lua 其实是个噱头.这里还是要依赖 lfs(lua file sytem),好在 quick-cocos2d-x 已经包含了这个库.lfs.rmdir 命令 和 os.remove 命令一样,只能删除空文件夹.因此实现类似 rm -rf 的功能, 必须要递归删除文件夹中所有的文件和子文件夹.让我们扩展一下 os 包. ? 1 2 3 4 5 6 7 8 9 10 11 12

java _io_面向对象风格递归获得文件夹大小

public class test { private int sum; //文件夹大小 private String path; //路径 private File f; public static void main(String[]args) throws IOException { test t=new test("D:/d"); System.out.println(t.getSum()); } public test(String path) { this.path=pat

递归实现显示目标文件夹的所有文件和文件夹,并计算目标文件夹的大小

递归的一个典型应用就是遍历目标文件夹,把该文件夹下的所有文件和文件夹打印或显示出来,还可以递归计算目标文件夹的总大小. 1: class Program 2: { 3: static void Main(string[] args) 4: { 5: Console.WriteLine("输入目标文件夹"); 6: string path = Console.ReadLine(); 7: FindFoldersAndFiles(path); 8: Console.WriteLine(&q

linux怎么查看一个文件夹的大小

linux查看一个文件夹的大小的命令为: du --max-depth 1 -lh 该文件夹的完整路径 例,查询/var文件夹的大小: du --max-depth 1 -lh /var du 递归查询该路径下所有文件的大小(若不加任何参数,则显示文件夹内的所有文件,包括文件夹内子文件夹的内容). 命令解释: 参数 --max-depth 1 -lh 设置递归深度为1,及不查询子文件夹.因而使用此参数只显示该文件夹的大小,不显示其中子文件夹的大小. 注意: 视操作系统版本不同,命令可能为: du

Shell脚本递归打印指定文件夹中全部文件夹文件

#!/bin/bash #递归打印当前文件夹下的全部文件夹文件. PRINTF() { ls $1 | while read line #一次读取每一行放到line变量中 do [ -d $1/$line ] && { DIR="$1/$line" echo $DIR } DIR1=`dirname $DIR` #求路径. A=`ls -F $DIR1 | grep / | grep "\<$line\>"` #推断line是不是一个文件

Java遍历一个文件夹下的全部文件

Java工具中为我们提供了一个用于管理文件系统的类,这个类就是File类,File类与其它流类不同的是,流类关心的是文件的内容.而File类关心的是磁盘上文件的存储. 一,File类有多个构造器,经常使用的构造器有: 1.public File(String pathname){} 在pathname路径下创建文件对象 2.public File(String path,String name){} 在path參数指定的文件夹中创建具有给定名字的File对象.假设path为null,构造器将使用