用java怎统计windows目录下的文件种类数(后缀名)?相同种类的个数??急用??详细点!!哥是个文盲的!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用java怎统计windows目录下的文件种类数(后缀名)?相同种类的个数??急用??详细点!!哥是个文盲的!相关的知识,希望对你有一定的参考价值。

File f = new File("c:/windows");
List dirs = new ArrayList();
dirs.add(f.listFiles());
for (int i = 0; i < dirs.size(); i ++)
File[] files = (File[])dirs.get(i);
for (int j = 0; j < files.length; j ++)
if (files[j].isDirectory())
dirs.add(files[j].listFiles());
else
String fName = files[j].getName();
String[] ff = fName.split("\\.");
String eName = "":
if (ff.length == 2)
eName = ff[1];

if (fileType.containsKey(eName))
Integer size = (Integer)fileType.get(eName);
size = new Integer(size.intValue() + 1);
fileType.put(eName, size);
else
Integer size = new Integer(1);
fileType.put(eName, size);




for (Iterator key = fileType.keySet().iterator(); key.hasNext(); )
String eName = key.next().toString();
Integer size = (Integer)fileType.get(eName);
System.out.println("扩展名为【" + eName + "】的文件共有" + size + "个");
追问

这程序有问题的哦??有变量没声明!

追答

import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

public class Demo
public static void main(String[] args)
File f = new File("c:/windows");
List dirs = new ArrayList();
Map fileType = new HashMap();
dirs.add(f.listFiles());
for (int i = 0; i key = fileType.keySet().iterator(); key.hasNext();)
String eName = key.next().toString();
Integer size = (Integer) fileType.get(eName);
System.out.println("扩展名为【" + eName + "】的文件共有" + size + "个");


参考技术A 楼上的各位童鞋有没有考虑到效率的问题 使用递归追问

你有高效的答案???说来听听!!

参考技术B 有个专业的软件统计的!你可上天网下载! 参考技术C 悬赏太低了点,下课回来做,上课去了

以上是关于用java怎统计windows目录下的文件种类数(后缀名)?相同种类的个数??急用??详细点!!哥是个文盲的!的主要内容,如果未能解决你的问题,请参考以下文章

统计页面使用标签种类数

Visual Studio中如何统计怎个项目的代码行数

linux文件行数统计

怎么用shell脚本语言编写一个统计当前目录下的文件数目的...

统计目录下的文件数量

目录操作习题