Exemple #1
0
        /// <summary>
        /// 获取某个目录下的所有文件以及所有子目录。
        /// </summary>
        /// <param name="dirPath">父目录路径,如果为null,表示获取根目录(如“我的电脑”)下的磁盘或目录</param>
        public static SharedDirectory GetSharedDirectory(string dirPath)
        {
            SharedDirectory ftpDir = new SharedDirectory();

            ftpDir.directoryPath = dirPath;

            try
            {
                if (dirPath == null)
                {
                    DriveInfo[] drives = DriveInfo.GetDrives();
                    foreach (DriveInfo drive in drives)
                    {
                        ftpDir.SubDirectorys.Add(new DirectoryDetail(drive.Name, DateTime.Now));
                        ftpDir.DriveList.Add(new DiskDrive(drive));
                    }
                }
                else
                {
                    DirectoryInfo info = new DirectoryInfo(dirPath);
                    foreach (FileInfo file in info.GetFiles())
                    {
                        if (file.Extension.ToLower() != ".tmpe$")
                        {
                            ftpDir.FileList.Add(new FileDetail(file.Name, file.Length, file.CreationTime));
                        }
                    }

                    foreach (DirectoryInfo subInfo in info.GetDirectories())
                    {
                        ftpDir.SubDirectorys.Add(new DirectoryDetail(subInfo.Name, subInfo.CreationTime));
                    }
                }
            }
            catch (Exception ee)
            {
                ftpDir.Valid     = false;
                ftpDir.exception = ee.Message;
            }

            return(ftpDir);
        }
Exemple #2
0
 public ResDirectoryContract(SharedDirectory directory)
 {
     this.sharedDirectory = directory;
 }