public static TreeMap listFolder(File rootFolder, int c) {
TreeMap TreeMap = new TreeMap();
if (!rootFolder.isDirectory()) {
System.out.println(
rootFolder.getName() + " is not a directory!");
} else {
File dirList[] = rootFolder.listFiles();
for (int i = 0; i < dirList.length; i++) {
for (int j = 0; j <= c; j++) {
//System.out.print(" ");
}
if (dirList[i].isDirectory()) {
//System.out.println("<"+dirList[i].getName()+">");
c++;
listFolder(dirList[i], c);
c--;
} else if (dirList[i].isFile()) { if ((dirList[i].getName()).endsWith(".java")) {
//System.out.println(dirList[i].getName()); //readfile(dirList[i], dirList[i].getName());
TreeMap.put(dirList[i],dirList[i].getName());
//关键问题出现在这里,我想遍历根目录下所有文件夹及其文件,
然后我想得到每个文件的名字及文件本身,1:1对应关系,
最后想把循环结果存在TreeMap里,但我测试下来总是把当前的目录下文件存进来,接着存这个文件夹下面包含的目录文件的时候就没有结果了,但我System.out.println(dirList[i].getName())这个的时候还都能得到所有文件的名字,有点晕,帮帮忙吧大侠们,能帮我改改程序吗?不知道怎么做了?
} }
}
}
return TreeMap;
}
TreeMap TreeMap = new TreeMap();
if (!rootFolder.isDirectory()) {
System.out.println(
rootFolder.getName() + " is not a directory!");
} else {
File dirList[] = rootFolder.listFiles();
for (int i = 0; i < dirList.length; i++) {
for (int j = 0; j <= c; j++) {
//System.out.print(" ");
}
if (dirList[i].isDirectory()) {
//System.out.println("<"+dirList[i].getName()+">");
c++;
listFolder(dirList[i], c);
c--;
} else if (dirList[i].isFile()) { if ((dirList[i].getName()).endsWith(".java")) {
//System.out.println(dirList[i].getName()); //readfile(dirList[i], dirList[i].getName());
TreeMap.put(dirList[i],dirList[i].getName());
//关键问题出现在这里,我想遍历根目录下所有文件夹及其文件,
然后我想得到每个文件的名字及文件本身,1:1对应关系,
最后想把循环结果存在TreeMap里,但我测试下来总是把当前的目录下文件存进来,接着存这个文件夹下面包含的目录文件的时候就没有结果了,但我System.out.println(dirList[i].getName())这个的时候还都能得到所有文件的名字,有点晕,帮帮忙吧大侠们,能帮我改改程序吗?不知道怎么做了?
} }
}
}
return TreeMap;
}
解决方案 »
- 时间想减,结果不对~但是程序感觉没错啊~可直接运行有人愿意帮看看吗?
- 用commons-email-1.1.jar和mail.jar包发送邮件报错
- 如何获取ajax传到页面上的信息
- jsp里的java代码是不是都是在web容器里执行的啊?
- 初学小问题,在线等.急....
- 奇怪,请看看这段代码
- RetroGuard 混淆器的用法!
- 如何在JSP中向数据库中插入图片,和如何在JSP中显示出
- 菜鸟问问
- 各位好,WebLogic6.1下面怎么配置JMS? 哪位大虾给个要点?谢谢!
- 使用Runnable时遇到的奇怪现象.......
- hi guys,请教一个String.replace(),现在我想对一个大String进行一些字符替换
for (int i = 0; i < dirList.length; i++) {
下面要这样:
listFolder(dirList.get[i], c+1);
TreeMap put进去的是一个key
你可以选择用文件的名称(name)或者是路径(path)来做这个key
dirList[i].getName();dirList[i].getPath();
key存文件好像可以吧?高人指教一下应该怎样做呢