java程序 做一个这样的程序:统计某磁盘的使用情况 统计在这磁盘中,各种文件的个数和占磁盘空间

java程序做一个这样的程序:统计某磁盘的使用情况统计在这磁盘中,各种文件的个数和占磁盘空间的大小要输出一个列表形式的结果如:.bmp10个12345678字节.doc3... java程序
做一个这样的程序:统计某磁盘的使用情况
统计在这磁盘中,各种文件的个数和占磁盘空间的大小
要输出一个列表形式的结果
如:
.bmp 10个 12345678字节
.doc 3个 445566字节
.txt 1个 5566字节
拜托各位大神了
展开
 我来答
百度网友062f9c8
2016-07-05 · TA获得超过1254个赞
知道小有建树答主
回答量:840
采纳率:60%
帮助的人:719万
展开全部
import java.io.File;
import java.io.FileFilter;
import java.util.HashMap;
import java.util.Map;

public class T1 {

    /**存放文件后缀 对应的大小*/
    private static final Map<String, Long> sizeMap = new HashMap<String, Long>();
    /**存放文件后缀 对应的个数*/
    private static final Map<String, Integer> countMap = new HashMap<String, Integer>();
    
    
    public static void main(String[] args) {
        String path = "F:";
        filter(path);
        
        for(String key :sizeMap.keySet()) {
            System.out.println("后缀:" + key + "\t字节:" + (sizeMap.get(key)==null?0:sizeMap.get(key)) + "\t个数为" + (countMap.get(key)==null?0:countMap.get(key)));
        }
        
    }
    
    
    public static void filter(String path){
        File file = new File(path);
        file.listFiles(new FileFilter() {
            @Override
            public boolean accept(File f) {
                if(f.isDirectory()) {
                    filter(f.getPath());
                    return false;
                }
                String fileName = f.getName();
                
                if(fileName.indexOf(".") == -1) {
                    return false;
                }
                
                String suffix =fileName.split("\\.")[1];//获得文件后缀
                //把文件后缀相同的字节数相加
                Long size = (sizeMap.get(suffix)==null?0:sizeMap.get(suffix)) + f.length();
                sizeMap.put(suffix, size);
                //把文件后缀相同的个数相加
                Integer count = (countMap.get(suffix)==null?0:countMap.get(suffix)) + 1;            
                countMap.put(suffix, count);
                return false;
            }
        });
    }
}

运行结果太长了,我随便截取点吧:

后缀:1-1    字节:1820    个数为2
后缀:dll_2016-05-23_000    字节:345    个数为1
后缀:dat    字节:20253796    个数为28
后缀:1-2    字节:1302    个数为2
后缀:md    字节:53548    个数为4
后缀:MF    字节:1105    个数为10
后缀:html    字节:745985    个数为75
后缀:lrc    字节:6872    个数为6
后缀:9-2    字节:1478    个数为2
后缀:dll_2016-03-31_000    字节:55    个数为1
后缀:9-3    字节:1436    个数为2
后缀:all    字节:3003366    个数为4
后缀:66b    字节:6786365    个数为1
后缀:withoutimage    字节:383536    个数为4
后缀:eclipse    字节:27666    个数为104
后缀:woff    字节:437588    个数为20
后缀:spr    字节:15084930    个数为311
后缀:mdl    字节:79521996    个数为487
后缀:m3d    字节:199680    个数为3
后缀:JPG    字节:261216    个数为113
后缀:fgd    字节:37819    个数为1
后缀:79d    字节:23795338    个数为3
后缀:79e    字节:8001129    个数为1
后缀:gif    字节:1453085    个数为597
后缀:dll_2016-04-26_000    字节:115    个数为1
后缀:70LeagueV    字节:549361    个数为1
后缀:lst    字节:47492    个数为13
后缀:26q_v1    字节:7284946    个数为1
后缀:sql    字节:87909    个数为6
后缀:11-4    字节:1230    个数为2
后缀:11-3    字节:1804    个数为2
后缀:timer    字节:10452    个数为3
后缀:html5only    字节:467448    个数为4
后缀:dll_2016-05-17_000    字节:115    个数为1
后缀:11-2    字节:1770    个数为2
后缀:11-1    字节:2032    个数为2
后缀:flexslider-min    字节:65025    个数为3
后缀:dll_2016-07-01_000    字节:13427    个数为2
后缀:greenxf    字节:97562    个数为1


特地敲了代码 要采纳啊,我这测试的是F盘 是可以的, 你有什么疑问  可追问我

生活he家
2016-07-05 · 一个属于大家的搬运工
生活he家
采纳数:1536 获赞数:6828

向TA提问 私信TA
展开全部
这个没有什么难度,看看文件遍历的例子
追问
要的是过程😂😂😂
追答
自己动手丰衣足食,既然你选择了这条路
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
西北战狼55
2016-07-05 · TA获得超过792个赞
知道小有建树答主
回答量:1023
采纳率:0%
帮助的人:250万
展开全部
这个感觉不是太难,可以试试。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式