Exemplo n.º 1
0
        public static DirEntry[] EnumDir(string dirName)
        {
            List <DirEntry> list = new List <DirEntry>();
            string          tmp  = IO.InnerFilePath(dirName);

            string[] dirs = Directory.GetDirectories(tmp);
            foreach (string name in dirs)
            {
                string        fullPath = name;
                DirectoryInfo info     = new DirectoryInfo(fullPath);

                DirEntry e = new DirEntry();

                e.fileName     = Path.GetFileName(name);
                e.fileSize     = 0;
                e.createDate   = info.CreationTimeUtc;
                e.folder       = true;
                e.updateDate   = info.LastWriteTimeUtc;
                e.fullPath     = fullPath;
                e.relativePath = GetRelativeFileName(fullPath, dirName);

                list.Add(e);
            }

            string[] files = Directory.GetFiles(tmp);
            foreach (string name in files)
            {
                string   fullPath = name;
                FileInfo info     = new FileInfo(fullPath);

                DirEntry e = new DirEntry();

                e.fileName     = Path.GetFileName(name);
                e.fileSize     = info.Length;
                e.createDate   = info.CreationTimeUtc;
                e.folder       = false;
                e.updateDate   = info.LastWriteTimeUtc;
                e.fullPath     = fullPath;
                e.relativePath = GetRelativeFileName(fullPath, dirName);

                list.Add(e);
            }

            list.Sort();

            return(list.ToArray());
        }
Exemplo n.º 2
0
        static void enumDirEx(string dirName, string baseDirName, List <DirEntry> list)
        {
            string tmp = IO.InnerFilePath(dirName);

            string[] dirs = Directory.GetDirectories(tmp);
            foreach (string name in dirs)
            {
                string        fullPath = name;
                DirectoryInfo info     = new DirectoryInfo(fullPath);

                DirEntry e = new DirEntry();

                e.fileName     = Path.GetFileName(name);
                e.fileSize     = 0;
                e.createDate   = info.CreationTimeUtc;
                e.folder       = true;
                e.updateDate   = info.LastWriteTimeUtc;
                e.fullPath     = fullPath;
                e.relativePath = GetRelativeFileName(fullPath, baseDirName);

                list.Add(e);

                enumDirEx(fullPath, baseDirName, list);
            }

            string[] files = Directory.GetFiles(tmp);
            foreach (string name in files)
            {
                string   fullPath = name;
                FileInfo info     = new FileInfo(fullPath);

                DirEntry e = new DirEntry();

                e.fileName     = Path.GetFileName(name);
                e.fileSize     = info.Length;
                e.createDate   = info.CreationTimeUtc;
                e.folder       = false;
                e.updateDate   = info.LastWriteTimeUtc;
                e.fullPath     = fullPath;
                e.relativePath = GetRelativeFileName(fullPath, baseDirName);

                list.Add(e);
            }
        }