/// <summary> /// Выполняет копирование файла в указанный каталог. /// </summary> /// <param name="pathFrom">Путь к копируемому файлу.</param> /// <param name="pathTo">Путь к каталогу, который будет содержать скопированный файл.</param> public void CopyFile(string pathFrom, string pathTo) { byte[] data = FileSystem.ReadFile(pathFrom); FileSystem.Directory resultDirectory = FileSystem.OpenDirectory(pathTo); string fileFullName = Utils.GetFileName(pathFrom); string path = pathTo + "/" + fileFullName; if (resultDirectory.Find(fileFullName) == null) { FileSystem.CreateFile(path); FileSystem.WriteFile(path, data); } }
/// <summary> /// Выполняет копирование каталога в указанный каталог. /// При копировании каталога также копируется его содержимое. /// </summary> /// <param name="pathFrom">Путь к копируемому каталогу.</param> /// <param name="pathTo">Путь к каталогу, который будет содержать скопированный каталог.</param> public void CopyDirectory(string pathFrom, string pathTo) { FileSystem.Directory directory = FileSystem.OpenDirectory(pathFrom); FileSystem.Directory resultDirectory = FileSystem.OpenDirectory(pathTo); if (resultDirectory.Find(directory.FullName) == null) { FileSystem.CreateDirectory(pathTo + "/" + directory.FullName); } for (int i = 2; i < directory.Count; i++) { MetaFile metaFile = directory[i]; if (metaFile is FileSystem.Directory) { CopyDirectory(pathFrom + "/" + metaFile.FullName, pathTo + "/" + directory.FullName); } else { CopyFile(pathFrom + "/" + metaFile.FullName, pathTo + "/" + directory.FullName); } } }