Revision: 39982
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at January 24, 2011 12:45 by kyrathaba
Initial Code
namespace Kyrathasoft.FilesDirectories.GetFilesRecursively {
using System;
using System.Collections.Generic;
using System.IO;
public static class clsGetFilesRecursively {
public static List<string> GetFilesRecursively(string b) {
// 1.Store results in the file results list.
List<string> result = new List<string>();
// 2.Store a stack of our directories.
Stack<string> stack = new Stack<string>();
// 3.Add initial directory.
stack.Push(b);
// 4.Continue while there are directories to process
while (stack.Count > 0) {
// A.Get top directory
string dir = stack.Pop();
try {
// B. Add all files at this directory to the result List.
result.AddRange(Directory.GetFiles(dir, "*.*"));
// C. Add all directories at this directory.
foreach (string dn in Directory.GetDirectories(dir)) {
stack.Push(dn);
}
}
catch {
// D. Could not open the directory
}
}
return result;
}
public static int getNumOfSubdirs(string topLvDir) {
int totalSubdirs = 0;
//Store a stack of our directories.
Stack<string> stack = new Stack<string>();
//Add initial directory.
stack.Push(topLvDir);
//Continue while there are directories to process
while (stack.Count > 0) {
//Get top directory
string dir = stack.Pop();
try {
//Add all directories at this directory.
foreach (string dn in Directory.GetDirectories(dir)) {
totalSubdirs++;
}
}
catch {
// D. Could not open the directory
}
}
return totalSubdirs;
}
}
public class encappedListOfStrings {
public encappedListOfStrings() { }
public encappedListOfStrings(List<string> the_list) {
_listOfStrings = the_list;
}
private List<string> _listOfStrings;
public List<string> ListOfStrings {
get { return _listOfStrings; }
}
}
}
Initial URL
Initial Description
Initial Title
get files recursively
Initial Tags
files, directory
Initial Language
C#