CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 7 of 7

Threaded View

  1. #3
    Join Date
    Mar 2004
    Location
    33°11'18.10"N 96°45'20.28"W
    Posts
    1,808

    Re: DirectoryInfo.GetFiles() multiple file extensions

    Code:
    namespace PathSearch {
        public class FileSearch {
            ArrayList _extensions;
            bool _recursive;
            public ArrayList SearchExtensions {
                get { return _extensions; }
            }
            public bool Recursive {
                get{return _recursive;}
                set{_recursive = value;}
            }
            public FileSearch(){
                _extensions = ArrayList.Synchronized(new ArrayList());
                _recursive = true;
            }
            public FileInfo[] Search(string path) {   
                DirectoryInfo root = new DirectoryInfo(path);
                ArrayList subFiles = new ArrayList();
                foreach(FileInfo file in root.GetFiles()) {
                    if(_extensions.Contains( file.Extension )) {
                        subFiles.Add(file);
                    }
                }
                if(_recursive) {
                    foreach(DirectoryInfo directory in root.GetDirectories()) {
                        subFiles.AddRange( Search(directory.FullName) );
                    }
                }
                return (FileInfo[])subFiles.ToArray(typeof(FileInfo));
            }
        }
    }
    usage:

    Code:
    FileSearch searcher = new FileSearch();
    searcher.SearchExtensions.Add(".dll");
    searcher.SearchExtensions.AddRange( new string[] {".txt", ".asp", ".exe"} );
    
    FileInfo[] files = searcher.Search("C:\\");
    Last edited by MadHatter; June 9th, 2005 at 02:28 PM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  





Click Here to Expand Forum to Full Width

Featured