JAVA 判断给定目录的大小

题目:给定一个目录,判断该目录的大小,单位为G

思路:

  递归拿到目录的子文件,然后取长度,累加

public class FileDemo02 {
    public static void main(String[] args) {
        FileDemo02 demo = new FileDemo02();
        long size = demo
                .printDirSize(new File("D:/视频/极客学院知识体系/Java/4.Java语言进阶"));
        System.out.println("这个文件夹的大小为:" + (size / 1024.0 / 1024.0 / 1024.0)
                + "G");
    }

    public long printDirSize(File dir) {

        if (dir.isFile()) { // 如果给定的是一个文件,则返回它的长度
            return dir.length();
        }

        long size = 0; // 设定一个变量,用于存放长度

        File[] fileList = dir.listFiles();// 取目录的listFiles,递归判断长度
        for (int i = 0; i < fileList.length; i++) {
            size += printDirSize(fileList[i]);
        }

        return size;
    }
}
时间: 2024-11-03 22:27:49

JAVA 判断给定目录的大小的相关文章

java遍历给定目录,树形结构输出所有文件,包括子目录中的文件

import java.io.File; public class ReadDirectory { // 文件所在的层数 private int fileLevel; /** * 生成输出格式 * @param name 输出的文件名或目录名 * @param level 输出的文件名或者目录名所在的层次 * @return 输出的字符串 */ public String createPrintStr(String name, int level) { // 输出的前缀 String print

JAVA输出指定目录下的子目录和子文件

题目:给定一个目录,要求输出这个目录下面的子目录和子文件 逻辑: 先判断给定的是不是一个合法的目录,如果不是,则提示给定错误 如果是目录,那么使用File.listFile()获得这个目录下文件名的数组 循环遍历输出这个数组元素 输出名称之后,接着判断这个元素是文件还是目录 如果是目录,继续调用本方法来输出子目录 代码如下: /** * 输出指定目录下的所有子目录和子文件 * * @author DXY * */ public class HelloFile { public static vo

Java命名和目录接口——JNDI

JNDI即Java命名和目录接口(JavaNaming and Directory Interface),它属于J2EE规范范畴,是J2EE的核心技术之一,提供了一组接口.类和关于命名空间的概念.JDNI是provider-based技术,它暴露一个API和一个服务供应接口(SPI).它将名称和对象联系起来,使我们可以用名称访问对象.我们可以把JNDI简单地看成是里面封装了一个name到实体对象的映射,通过字符串可以方便得到想要的对象资源,例如JDBC.JMail.JMS.EJB等.这意味着任何

50道经典的JAVA编程题(目录)

50道经典的JAVA编程题(目录) 题目来源于:http://blog.sina.com.cn/s/blog_60fafdda0100wb21.html [程序1] TestRabbit.java 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.... [程序2] FindPrimeNumber.java 题目:判断101-20

java 判断两个时间相差的天数!

package com.datedaycha;     import java.text.SimpleDateFormat;     import java.util.Calendar;     import java.util.Date;     import com.sun.org.apache.xerces.internal.impl.xpath.regex.ParseException;     /*      * java 判断两个时间相差的天数     1.实现目标     输入:两

编写程序,判断给定的某个年份是否是闰年。

编写程序,判断给定的某个年份是否是闰年.       闰年的判断规则如下: (1)若某个年份能被4整除但不能被100整除,则是闰年.        (2)若某个年份能被400整除,则也是闰年.解答: import java.util.*; public class Bissextile{ public static void main(String[]arge){ System.out.println("please input the nian:"); int year; Scann

Java中计算对象的大小

一.计算对象大小的方法 Java中如何计算对象的大小呢,找到了4种方法: 1.java.lang.instrument.Instrumentation的getObjectSize方法: 2.BTraceUtils的sizeof方法: 3.http://yueyemaitian.iteye.com/blog/2033046中提供的代码计算: 4.https://github.com/mingbozhang/memory-measurer提供的工具包: 本质上java.lang.instrument

遍历目录,统计目录的大小

<?php header("Content-type:text/html;charset=utf-8"); function dirSize($directory){ //创建一个统计目录大小的函数 $dir_size=0;//累计目录的大小 if($dir_handle=opendir($directory)){ //打开目录.返回的是一个句柄 while($result=readdir($dir_handle)){//遍历目录的所有文件,参数是句柄.返回的是当前位置的文件名

树结构练习——判断给定森林中有多少棵树(简单做法)

树结构练习——判断给定森林中有多少棵树 Time Limit: 1000MS Memory limit: 65536K 题目描述 众人皆知,在编程领域中,C++是一门非常重要的语言,不仅仅因为其强大的功能,还 因为它是很多其他面向对象语言的祖先和典范.不过这世上几乎没什么东西是完美的,C++也不例外,多继承结构在带来强大功能的同时也给软件设计和维护带来 了很多困难.为此,在java语言中,只允许单继承结构,并采用接口来模拟多继承.KK最近获得了一份java编写的迷你游戏的源代码,他对这份代码非常