posts - 21,  comments - 10,  trackbacks - 0

程序比较简单,BFS使用队列,DFS使用递归。读者可以根据需要改变打印顺序,而且还可以试图求出指定目录下的某一扩展名的文件数量,添加一点正则表达式的语句。

import java.io.File;
import java.util.LinkedList;
import java.util.Queue;

public class BFS_SearchFiles {
    
public static void main(String args[]){
        Queue
<File> queue=new LinkedList<File>();
        queue.add(
new File("c:\\test"));
        
while(!queue.isEmpty()){
            File currentFile
=(File)queue.poll();
            System.out.println(
"路径 "+currentFile);
            String[] s
=currentFile.list();
            
for(int i=0;i<s.length;i++){
                File d
=new File(currentFile.getAbsolutePath()+File.separator+s[i]);
                
if(d.isFile())
                    System.out.println(
"文件 "+d);
                
else if(d.isDirectory())
                    queue.add(d);
            }

        }

    }

}


import java.io.File;

public class DFS_SearchFiles {
    
public static void main(String args[]){
        DFS_SearchFiles.Search(
"c:\\test");
    }

    
static void Search(String path){
        File file
=new File(path);
        
        
if(file.isDirectory()){
            System.out.println(
"目录 "+file.getPath());
            File[] files
=file.listFiles();
            
for(int i=0;i<files.length;i++){
                
if(files[i].isDirectory()){
                    Search(files[i].getPath());
                }

                
else if(files[i].isFile())
                    System.out.println(
"文件 "+files[i]);
            }

        }

    }

}

posted on 2008-05-19 16:34 dreamingnest 阅读(93) 评论(1)  编辑  收藏 所属分类: 算法程序总结

FeedBack:
# re: BFS和DFS两种方法获取指定目录下的所有目录和文件
2008-07-16 19:23 | fejay
学习了  回复  更多评论
  

标题  
姓名  
主页
验证码 *  
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
 
 
相关链接:
网站导航:




<2008年5月>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

常用链接

留言簿

随笔分类(15)

随笔档案(22)

外面的世界

这里的朋友

搜索

  •  

最新评论

阅读排行榜

评论排行榜