using
System;
using System.IO;
namespace Jmouse
... {
public class JFiles
...{
public enum JSearchOptions ...{ AllDirectories, OnlyTopDirectory };
public enum JPatternOptions ...{ OnlyFiles, OnlyDirectories, Both };
protected virtual void SetDirMethod(string[] path)
...{ }
protected virtual void SetFileMethod(string[] path)
...{ }
protected virtual void SetErrorMethod(string path, Exception e)
...{ }
protected virtual void SetErrorMethod(string path,
string searchPattern, Exception e)
...{ }
public int Search(string path)
...{
int SearchFailed = -1;
try
...{
string[] dirs = Directory.GetDirectories(path);
SetDirMethod(dirs);
if (dirs.Length > 0)
...{
for (int i = 0; i < dirs.Length; i++)
...{
try
...{
SearchFailed += Search(dirs[i]);
}
catch (Exception e)
...{
SearchFailed++;
SetErrorMethod(path, e);
continue;
}
}
}
string[] files = Directory.GetFiles(path);
SetFileMethod(files);
return (SearchFailed + 1);
}
catch (Exception e)
...{
SetErrorMethod(path, e);
}
return SearchFailed;
}
public int Search(string path, JSearchOptions searchOptions)
...{
int SearchFailed = -1;
try
...{
string[] dirs = Directory.GetDirectories(path);
SetDirMethod(dirs);
if (searchOptions == JSearchOptions.AllDirectories)
...{
if (dirs.Length > 0)
...{
for (int i = 0; i < dirs.Length; i++)
...{
try
...{
SearchFailed += Search(dirs[i],
searchOptions);
}
catch (Exception e)
...{
SearchFailed++;
SetErrorMethod(path, e);
continue;
}
}
}
}
string[] files = Directory.GetFiles(path);
SetFileMethod(files);
return (SearchFailed + 1);
}
catch (Exception e)
...{
SetErrorMethod(path, e);
}
return SearchFailed;
}
public int Search(string path, string searchPattern,
JPatternOptions patternOptions)
...{
int SearchFailed = -1;
try
...{
string[] dirs = new string[0];
string[] files = new string[0];
if ((patternOptions == JPatternOptions.Both) ||
(patternOptions == JPatternOptions.OnlyDirectories))
...{
dirs = Directory.GetDirectories(path, searchPattern);
}
else
...{
dirs = Directory.GetDirectories(path);
}
SetDirMethod(dirs);
if (dirs.Length > 0)
...{
for (int i = 0; i < dirs.Length; i++)
...{
try
...{
SearchFailed += Search(dirs[i],
searchPattern,
patternOptions);
}
catch (Exception e)
...{
SetErrorMethod(path, searchPattern, e);
SearchFailed++;
continue;
}
}
}
if ((patternOptions == JPatternOptions.Both) ||
(patternOptions == JPatternOptions.OnlyFiles))
...{
files = Directory.GetFiles(path, searchPattern);
}
else
...{
files = Directory.GetFiles(path);
}
SetFileMethod(files);
return (SearchFailed + 1);
}
catch (Exception e)
...{
SetErrorMethod(path, searchPattern, e);
}
return SearchFailed;
}
public int Search(string path, string searchPattern,
JPatternOptions patternOptions, JSearchOptions searchOptions)
...{
int SearchFailed = -1;
try
...{
string[] dirs = new string[0];
string[] files = new string[0];
if ((patternOptions == JPatternOptions.Both) ||
(patternOptions == JPatternOptions.OnlyDirectories))
...{
dirs = Directory.GetDirectories(path, searchPattern);
}
else
...{
dirs = Directory.GetDirectories(path);
}
SetDirMethod(dirs);
if (searchOptions == JSearchOptions.AllDirectories)
...{
if (dirs.Length > 0)
...{
for (int i = 0; i < dirs.Length; i++)
...{
try
...{
SearchFailed += Search(dirs[i],
searchPattern,
patternOptions,
searchOptions);
}
catch (Exception e)
...{
SetErrorMethod(path,
searchPattern,
e);
SearchFailed++;
continue;
}
}
}
}
if ((patternOptions == JPatternOptions.Both) ||
(patternOptions == JPatternOptions.OnlyFiles))
...{
files = Directory.GetFiles(path, searchPattern);
}
else
...{
files = Directory.GetFiles(path);
}
SetFileMethod(files);
return (SearchFailed + 1);
}
catch (Exception e)
...{
SetErrorMethod(path, searchPattern, e);
}
return SearchFailed;
}
}
}
using System.IO;
namespace Jmouse
... {
public class JFiles
...{
public enum JSearchOptions ...{ AllDirectories, OnlyTopDirectory };
public enum JPatternOptions ...{ OnlyFiles, OnlyDirectories, Both };
protected virtual void SetDirMethod(string[] path)
...{ }
protected virtual void SetFileMethod(string[] path)
...{ }
protected virtual void SetErrorMethod(string path, Exception e)
...{ }
protected virtual void SetErrorMethod(string path,
string searchPattern, Exception e)
...{ }
public int Search(string path)
...{
int SearchFailed = -1;
try
...{
string[] dirs = Directory.GetDirectories(path);
SetDirMethod(dirs);
if (dirs.Length > 0)
...{
for (int i = 0; i < dirs.Length; i++)
...{
try
...{
SearchFailed += Search(dirs[i]);
}
catch (Exception e)
...{
SearchFailed++;
SetErrorMethod(path, e);
continue;
}
}
}
string[] files = Directory.GetFiles(path);
SetFileMethod(files);
return (SearchFailed + 1);
}
catch (Exception e)
...{
SetErrorMethod(path, e);
}
return SearchFailed;
}
public int Search(string path, JSearchOptions searchOptions)
...{
int SearchFailed = -1;
try
...{
string[] dirs = Directory.GetDirectories(path);
SetDirMethod(dirs);
if (searchOptions == JSearchOptions.AllDirectories)
...{
if (dirs.Length > 0)
...{
for (int i = 0; i < dirs.Length; i++)
...{
try
...{
SearchFailed += Search(dirs[i],
searchOptions);
}
catch (Exception e)
...{
SearchFailed++;
SetErrorMethod(path, e);
continue;
}
}
}
}
string[] files = Directory.GetFiles(path);
SetFileMethod(files);
return (SearchFailed + 1);
}
catch (Exception e)
...{
SetErrorMethod(path, e);
}
return SearchFailed;
}
public int Search(string path, string searchPattern,
JPatternOptions patternOptions)
...{
int SearchFailed = -1;
try
...{
string[] dirs = new string[0];
string[] files = new string[0];
if ((patternOptions == JPatternOptions.Both) ||
(patternOptions == JPatternOptions.OnlyDirectories))
...{
dirs = Directory.GetDirectories(path, searchPattern);
}
else
...{
dirs = Directory.GetDirectories(path);
}
SetDirMethod(dirs);
if (dirs.Length > 0)
...{
for (int i = 0; i < dirs.Length; i++)
...{
try
...{
SearchFailed += Search(dirs[i],
searchPattern,
patternOptions);
}
catch (Exception e)
...{
SetErrorMethod(path, searchPattern, e);
SearchFailed++;
continue;
}
}
}
if ((patternOptions == JPatternOptions.Both) ||
(patternOptions == JPatternOptions.OnlyFiles))
...{
files = Directory.GetFiles(path, searchPattern);
}
else
...{
files = Directory.GetFiles(path);
}
SetFileMethod(files);
return (SearchFailed + 1);
}
catch (Exception e)
...{
SetErrorMethod(path, searchPattern, e);
}
return SearchFailed;
}
public int Search(string path, string searchPattern,
JPatternOptions patternOptions, JSearchOptions searchOptions)
...{
int SearchFailed = -1;
try
...{
string[] dirs = new string[0];
string[] files = new string[0];
if ((patternOptions == JPatternOptions.Both) ||
(patternOptions == JPatternOptions.OnlyDirectories))
...{
dirs = Directory.GetDirectories(path, searchPattern);
}
else
...{
dirs = Directory.GetDirectories(path);
}
SetDirMethod(dirs);
if (searchOptions == JSearchOptions.AllDirectories)
...{
if (dirs.Length > 0)
...{
for (int i = 0; i < dirs.Length; i++)
...{
try
...{
SearchFailed += Search(dirs[i],
searchPattern,
patternOptions,
searchOptions);
}
catch (Exception e)
...{
SetErrorMethod(path,
searchPattern,
e);
SearchFailed++;
continue;
}
}
}
}
if ((patternOptions == JPatternOptions.Both) ||
(patternOptions == JPatternOptions.OnlyFiles))
...{
files = Directory.GetFiles(path, searchPattern);
}
else
...{
files = Directory.GetFiles(path);
}
SetFileMethod(files);
return (SearchFailed + 1);
}
catch (Exception e)
...{
SetErrorMethod(path, searchPattern, e);
}
return SearchFailed;
}
}
}