|
Создание zip архива через GZipStream
|
|||
---|---|---|---|
#18+
Всем доброго времени суток. Столкнулся с небольшой проблемой, есть папка следующей структуры RootFolder -> Folder-> Sub_Files -> File Задача состоит в том что бы с использованием GZipStream создать zip архив аналогичной структуры, исключая RootFolder. Как положить файл в архив ясно, код уже написан Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
А вот как в этот архив положить папку Folder с ее содержимым, и возможно ли это в принципе в этом проблема. Желательно скинуть кусок кода, который поможет в решении данной проблемы. Заранее спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2013, 11:32 |
|
Создание zip архива через GZipStream
|
|||
---|---|---|---|
#18+
Core12, Я вам лучше скину кусок вики: В соответствии с традициями UNIX-программирования, gzip выполняет только две функции: сжатие и распаковка одного файла, он не умеет упаковывать несколько файлов в один архив. При сжатии к оригинальному расширению файла добавляется суффикс .gz. Для упаковки нескольких файлов обычно их сначала архивируют в один файл утилитой tar, а потом этот файл сжимают gzip. Таким образом, сжатые архивы обычно имеют двойное расширение .tar.gz или сокращённое .tgz. И с MSDN: Сжатые объекты GZipStream, записанные в файл с расширением .gz, можно распаковать с помощью которых можно решить многие стандартные средства сжатия; однако по существу этот класс не предоставляет функциональность добавления файлов или извлекать файлы из ZIP-архива. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2013, 13:22 |
|
Создание zip архива через GZipStream
|
|||
---|---|---|---|
#18+
Core12, вот кусок кода , который принимает на вход зип-архив и дербанит его на массив архивов и с подпапками и прочим. вам надо сделат наоборот. ну это если есть желание руками дотошно в этом разобраться. все параметры взяты из описания зип-формата. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2013, 13:54 |
|
Создание zip архива через GZipStream
|
|||
---|---|---|---|
#18+
beg-in-er, Может проще воспользоваться http://dotnetzip.codeplex.com/DotNetZip например? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2013, 14:05 |
|
Создание zip архива через GZipStream
|
|||
---|---|---|---|
#18+
http://dotnetzip.codeplex.com/]DotNetZip ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2013, 14:06 |
|
Создание zip архива через GZipStream
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2013, 14:08 |
|
Создание zip архива через GZipStream
|
|||
---|---|---|---|
#18+
Lelouchbeg-in-er, Может проще воспользоваться http://dotnetzip.codeplex.com/DotNetZip например? да всяк проще пользоваться чужими решениями, а не разбиратся детально. лично мне было интересно сделать как то самому. просто если мы каждый раз будем пользоваться готовыми решениями, то это отобъёт и желание и умениее делать самостоятельно. и когда появится задача, которая ещё никем не сделана, то тогда может наступить "веселья" час. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2013, 14:29 |
|
Создание zip архива через GZipStream
|
|||
---|---|---|---|
#18+
beg-in-er, но с другой стороны, отвлекаясь на простые задачи и изобретая свои велосипеды, мы теряем время, которое можно потратить на решение сложной задачи..) ИМХО. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2013, 14:39 |
|
Создание zip архива через GZipStream
|
|||
---|---|---|---|
#18+
Lelouchbeg-in-er, но с другой стороны, отвлекаясь на простые задачи и изобретая свои велосипеды, мы теряем время, которое можно потратить на решение сложной задачи..) ИМХО. так то да, должон быть баланс. но всё таки если сконцентрироваться только на решении "сложных" задач, то можно запросто оторваться от базиса, и тогда сложность задач будет сама по себе порождать сложность. по спирали. и в итоге получится неуправляемый каркас классов, фабрик, интерфейсов, методов..... и будут тратится силы на взаимодействия между ними. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2013, 14:54 |
|
Создание zip архива через GZipStream
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2013, 16:13 |
|
Создание zip архива через GZipStream
|
|||
---|---|---|---|
#18+
МСУ, Спасибо за ссылку, не знал что в 4.5 появился Zip архив. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2013, 16:19 |
|
Создание zip архива через GZipStream
|
|||
---|---|---|---|
#18+
МСУbeg-in-er, жесть какая-то... Где ты там жесть нашёл? goto не по-нраву? нормальная реализация метода. да, можно причесать, убрать готу, но смысл не сменится. тут чётко виден алгоритм декомпресии вложенного архива. имя, размер, стопбит.... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2013, 16:24 |
|
Создание zip архива через GZipStream
|
|||
---|---|---|---|
#18+
beg-in-erГде ты там жесть нашёл? goto не по-нраву? unsafe, goto, magic numbers. beg-in-erнормальная реализация метода Ну если ты считаешь "это" нормальной реализацией, то в путь. P.S. Посмотри на досуге возможности объектной модели 7z, http://codearticles.ru/home/articleview/1101 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2013, 16:37 |
|
Создание zip архива через GZipStream
|
|||
---|---|---|---|
#18+
МСУ magic numbers. это не ко мне , это вопрос к создателям формата. почему для стоп-байт они выбрали именно эти значения. авторПосмотри на досуге возможности объектной модели 7z, зачем использовать объектную модель там, где она излишне? где всё чётко -алгоримизированно - взял то - и положил туда. но....сколько людей , столько и мнений. МСУ нравятся объекты, вперёд, я же считаю,уверен, что массовое применение ООП это зло. и где можно , оно легко и непринуждённо заменяется на статик методы. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2013, 16:47 |
|
Создание zip архива через GZipStream
|
|||
---|---|---|---|
#18+
Спасибо, за советы выбрал DotNetZip. Доволен как слон. Только столкнулся с одной проблемой русские буквы в конечном архиве отображаются некорректно, а именно вот так "_". Пробовал прописать ему кодировку Код: c# 1. 2. 3.
а также пляски с бубном вокруг Encoding.Default, и прочих вариаций результата не дали. У кого есть какие мысли на этот счет. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2013, 01:00 |
|
|
start [/forum/topic.php?fid=20&msg=38190050&tid=1404977]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 319ms |
total: | 435ms |
0 / 0 |