System.IO.Compression.ZipFile.ExtractToDirectory с переименованием [закрыто]C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Гость
 System.IO.Compression.ZipFile.ExtractToDirectory с переименованием [закрыто]

Сообщение Гость »

[*]
Текущий метод извлекает zip-файл без/переопределения варианты.
[*]
Я хотел бы знать, как извлечь zip-файл в папку со всей его структурой, но с возможностью переименования.
[*]
Если файлы существуют, переименуйте их, как в окне?
[*]
Я решил извлечь zip-файл с параметром переопределения = false во временную папку с помощью функции Compression.ExtractToFolder.
[*]
Следующий шаг по перебору временной папки:
и скопируйте структуру пробелов вложенных папок и файлов и, если файл существует, переименуйте его.

строка zipFilePath = zipPathForFolderOrPathForFile; Путь извлечения строки = SelectedItem.Path; строка guid = Guid.NewGuid().ToString(); строка tempExtractionPath = Path.Combine(extractionPath, guid); System.IO.Compression.ZipFile.ExtractToDirectory(zipFilePath, tempExtractionPath); // нет переопределения ProcessDirectory(tempExtractionPath, guid);

private void ProcessDirectory (строка sourceDirectory, строка guid) { строка [] fileEntries = Directory.GetFiles(sourceDirectory); foreach (строка fileName в fileEntries) ProcessFile (имя файла, руководство); string[] subdirectoryEntries =Directory.GetDirectories(sourceDirectory); foreach (строковый подкаталог в subdirectoryEntries) { // У меня проблема с созданием новой несуществующей подпапки.

ProcessDirectory(подкаталог, руководство); } } частный void ProcessFile (путь к строке, идентификатор строки) { var newFile = path.Substring(0, path.LastIndexOf(Path.DirectorySeparatorChar)); newFile = newFile.Replace(Path.Combine(Path.DirectorySeparatorChar.ToString(),guid), string.Empty); новыйФайл = Путь.Объединить(новыйФайл,Путь.GetFileName(путь)); число int = 1; в то время как (File.Exists(newFile)) { строка fileNameWithoutExtension = Path.GetFileNameWithoutExtension(newFile); строка fileExtension = Path.GetExtension(newFile); newFile = Path.Combine(Path.GetDirectoryName(newFile),$"{fileNameWithoutExtension}_Copy{count}{fileExtension}"); считать++; } Файл.Создать(новыйФайл); } 6.У меня проблема с пробелами в структуре подпапок и файлов. Заранее спасибо,
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • .Net ZipFile.ExtractToDirectory не извлекает псевдоним файла macOS из zip
    Anonymous » » в форуме C#
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Удалить файл из Zipfile с помощью модуля Zipfile
    Anonymous » » в форуме Python
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Метод не найден: 'System.String System.String.Format(System.IFormatProvider, System.String, System.Object)
    Anonymous » » в форуме C#
    0 Ответы
    138 Просмотры
    Последнее сообщение Anonymous
  • Распаковка большого файла Gzip не работает с использованием System.IO.Compression
    Anonymous » » в форуме C#
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Использование System.io.compression для прочтения потока zip -файла
    Anonymous » » в форуме C#
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»