コード例 #1
0
ファイル: FileCache.cs プロジェクト: maesse/CubeHags
        // Scans a directory and file tree and adds it a given dict
        private void Insert(string FullPath, FCDictionary dict)
        {
            // Add files
            string[] files = Directory.GetFiles(FullPath);
            for (int i = 0; i < files.Length; i++)
            {
                files[i] = files[i].ToLower();
                string file = FCFile.GetFileName(files[i], false);
                // Dont add files that are already contained
                if(!dict.Files.ContainsKey(file))
                    dict.AddFile(files[i]);
            }

            // Add dir recursively
            string[] dirs = Directory.GetDirectories(FullPath);
            for (int i = 0; i < dirs.Length; i++)
            {
                dirs[i] = dirs[i].ToLower();
                string dir = FCDictionary.GetLastDirectory(dirs[i]);

                // Only create new Dir object if it doesnt exists
                if (!dict.Dirs.ContainsKey(dir))
                    Insert(dirs[i], dict.AddDirectory(dirs[i])); // Add to new dir
                else
                    Insert(dirs[i], dict.Dirs[dir]); // Add to old dir
            }
        }
コード例 #2
0
ファイル: FCDictionary.cs プロジェクト: maesse/CubeHags
 public FCDictionary AddDirectory(string FullName)
 {
     FCDictionary dir = new FCDictionary(FullName);
     Dirs.Add(dir.Name, dir);
     return dir;
 }
コード例 #3
0
ファイル: FileCache.cs プロジェクト: maesse/CubeHags
 FileCache()
 {
     Base = new FCDictionary("Base");
 }