コード例 #1
0
        /// <summary>
        /// 复制文件夹
        /// </summary>
        /// <param name="targetDirectroy">目标文件夹</param>
        public IDirectory CopyTo(string targetDirectroy)
        {
            LocalDisk.ValidatePath(targetDirectroy);
            IDirectory dir = new Directory(targetDirectroy, disk);

            dir.Create();

            string[] files = System.IO.Directory.GetFiles(Path);

            string fileName;
            string destFile;

            foreach (string s in files)
            {
                fileName = System.IO.Path.GetFileName(s);
                destFile = targetDirectroy + System.IO.Path.AltDirectorySeparatorChar + fileName;
                System.IO.File.Copy(s, destFile, true);
            }

            IDirectory drinfo;

            foreach (string info in System.IO.Directory.GetDirectories(Path))
            {
                drinfo = new Directory(info, disk);
                drinfo.CopyTo(targetDirectroy + System.IO.Path.AltDirectorySeparatorChar + drinfo.Name);
            }

            return(dir.Refresh());
        }
コード例 #2
0
ファイル: File.cs プロジェクト: rvpoochen/CatLib
 /// <summary>
 /// 移动到指定文件
 /// </summary>
 public void MoveTo(string targetDirectory)
 {
     LocalDisk.ValidatePath(targetDirectory);
     (new Directory(targetDirectory, disk)).Create();
     FileInfo.MoveTo(targetDirectory + Path.AltDirectorySeparatorChar + fileName + extension);
     directory = targetDirectory;
     Refresh();
 }
コード例 #3
0
        /// <summary>
        /// 子文件夹是否存在
        /// </summary>
        /// <param name="directoryPath"></param>
        /// <returns></returns>
        public bool Exists(string directoryPath)
        {
            LocalDisk.ValidatePath(directoryPath);
            directoryPath = LocalDisk.NormalizePath(directoryPath);
            DirectoryInfo dir = new DirectoryInfo(path + directoryPath);

            return(dir.Exists);
        }
コード例 #4
0
        /// <summary>
        /// 创建子目录文件夹,如果文件夹已经存在那么不会进行任何操作
        /// </summary>
        /// <param name="directoryPath">子目录路径</param>
        /// <returns></returns>
        public IDirectory Create(string directoryPath)
        {
            LocalDisk.ValidatePath(directoryPath);
            directoryPath = LocalDisk.NormalizePath(directoryPath);
            IDirectory directory = null;

            if (!Exists(path + directoryPath))
            {
                DirectoryInfo dir = new DirectoryInfo(path + directoryPath);
                dir.Create();
            }
            directory = new Directory(path + directoryPath, disk);
            return(directory);
        }
コード例 #5
0
 /// <summary>
 /// 返回此目录的子目录(如果存在,反之抛出一个异常)
 /// </summary>
 /// <param name="directoryPath">子目录路径</param>
 /// <returns></returns>
 public IDirectory this[string directoryPath]
 {
     get
     {
         LocalDisk.ValidatePath(directoryPath);
         directoryPath = LocalDisk.NormalizePath(directoryPath);
         if (Exists(directoryPath))
         {
             return(new Directory(path + directoryPath, disk));
         }
         else
         {
             throw new DirectoryNotFoundException("a directory was not found at " + directoryPath);
         }
     }
 }
コード例 #6
0
 /// <summary>
 /// 文件夹服务
 /// </summary>
 /// <param name="directoryPath">默认根路径</param>
 public Directory(string directoryPath, LocalDisk disk)
 {
     LocalDisk.ValidatePath(directoryPath);
     this.disk = disk;
     path      = directoryPath;
 }