static DirectoryCache FindOrCreateDirectoryCache(DirectoryReference Directory) { DirectoryCache FoundDirectoryCache; if (!Directories.TryGetValue(Directory, out FoundDirectoryCache)) { FoundDirectoryCache = new DirectoryCache(Directory); Directories.Add(Directory, FoundDirectoryCache); } return FoundDirectoryCache; }
static DirectoryCache FindOrCreateDirectoryCache(DirectoryReference Directory) { DirectoryCache FoundDirectoryCache; if (!Directories.TryGetValue(Directory, out FoundDirectoryCache)) { FoundDirectoryCache = new DirectoryCache(Directory); Directories.Add(Directory, FoundDirectoryCache); } return(FoundDirectoryCache); }
static public IEnumerable <DirectoryReference> EnumerateDirectoriesRecursively(DirectoryReference Directory) { DirectoryCache FoundDirectoryCache = FindOrCreateDirectoryCache(Directory); foreach (DirectoryReference SubDirectory in FoundDirectoryCache.EnumerateDirectories()) { yield return(SubDirectory); foreach (DirectoryReference ChildSubDirectory in EnumerateDirectoriesRecursively(SubDirectory)) { yield return(ChildSubDirectory); } } }
public static bool FileExists( string FileFullPath ) { string FileDirectory = Utils.CleanDirectorySeparators(Path.GetDirectoryName(FileFullPath)); string DirectoriesKey = FileDirectory.ToLowerInvariant(); DirectoryCache FoundDirectoryCache; if( !Directories.TryGetValue( DirectoriesKey, out FoundDirectoryCache ) ) { // First time we've seen this directory. Gather information about files. FoundDirectoryCache = new DirectoryCache( FileDirectory ); Directories.Add( DirectoriesKey, FoundDirectoryCache ); } // Try to find the file in this directory return FoundDirectoryCache.HasFile( FileFullPath ); }
static public bool FileExists(string FileFullPath) { string FileDirectory = Utils.CleanDirectorySeparators(Path.GetDirectoryName(FileFullPath)); string DirectoriesKey = FileDirectory.ToLowerInvariant(); DirectoryCache FoundDirectoryCache; if (!Directories.TryGetValue(DirectoriesKey, out FoundDirectoryCache)) { // First time we've seen this directory. Gather information about files. FoundDirectoryCache = new DirectoryCache(FileDirectory); Directories.Add(DirectoriesKey, FoundDirectoryCache); } // Try to find the file in this directory return(FoundDirectoryCache.HasFile(FileFullPath)); }
static public IEnumerable <DirectoryReference> EnumerateDirectories(DirectoryReference Directory) { DirectoryCache FoundDirectoryCache = FindOrCreateDirectoryCache(Directory); return(FoundDirectoryCache.EnumerateDirectories()); }
static public bool DirectoryExists(DirectoryReference Directory) { DirectoryCache FoundDirectoryCache = FindOrCreateDirectoryCache(Directory); return(FoundDirectoryCache.Exists); }
static public bool FileExists(FileReference File) { DirectoryCache FoundDirectoryCache = FindOrCreateDirectoryCache(File.Directory); return(FoundDirectoryCache.HasFile(File)); }