Example #1
0
        private IEnumerable <FileSystemEntry> GetFilesInDirectory(
            BigDirectory bigDirectory,
            SearchPattern searchPattern,
            SearchOption searchOption)
        {
            foreach (var file in bigDirectory.Files.Values)
            {
                if (!searchPattern.Match(file.FullName))
                {
                    continue;
                }

                yield return(CreateFileSystemEntry(file));
            }

            if (searchOption == SearchOption.AllDirectories)
            {
                foreach (var directory in bigDirectory.Directories.Values)
                {
                    foreach (var file in GetFilesInDirectory(directory, searchPattern, searchOption))
                    {
                        yield return(file);
                    }
                }
            }
        }
Example #2
0
 public BigDirectory GetOrCreateDirectory(string directoryName)
 {
     if (!Directories.TryGetValue(directoryName, out var directory))
     {
         directory = new BigDirectory();
         Directories.Add(directoryName, directory);
     }
     return(directory);
 }
Example #3
0
        public BigFileSystem(string rootDirectory)
        {
            _rootDirectory = new BigDirectory();

            SkudefReader.Read(rootDirectory, AddBigArchive);
        }