/// <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); }
public ResDirectoryContract(SharedDirectory directory) { this.sharedDirectory = directory; }