Существует ли встроенная библиотека zip в.NET 3.5?

Если я понимаю вопрос, вы можете заинтересовать этот пример в галерее Matplotlib.

enter image description here [/g1]

Комментарий Янна выше приведен аналогичный пример.


Изменить - Ссылка выше фиксированной. Соответствующий код скопирован из галереи Matplotlib:

from mpl_toolkits.axes_grid1 import host_subplot
import mpl_toolkits.axisartist as AA
import matplotlib.pyplot as plt

host = host_subplot(111, axes_class=AA.Axes)
plt.subplots_adjust(right=0.75)

par1 = host.twinx()
par2 = host.twinx()

offset = 60
new_fixed_axis = par2.get_grid_helper().new_fixed_axis
par2.axis["right"] = new_fixed_axis(loc="right", axes=par2,
                                        offset=(offset, 0))

par2.axis["right"].toggle(all=True)

host.set_xlim(0, 2)
host.set_ylim(0, 2)

host.set_xlabel("Distance")
host.set_ylabel("Density")
par1.set_ylabel("Temperature")
par2.set_ylabel("Velocity")

p1, = host.plot([0, 1, 2], [0, 1, 2], label="Density")
p2, = par1.plot([0, 1, 2], [0, 3, 2], label="Temperature")
p3, = par2.plot([0, 1, 2], [50, 30, 15], label="Velocity")

par1.set_ylim(0, 4)
par2.set_ylim(1, 65)

host.legend()

host.axis["left"].label.set_color(p1.get_color())
par1.axis["right"].label.set_color(p2.get_color())
par2.axis["right"].label.set_color(p3.get_color())

plt.draw()
plt.show()

#plt.savefig("Test")

31
задан Oscar Cabrero 27 February 2009 в 00:00
поделиться

7 ответов

Нет никакой встроенной библиотеки. Существуют опции с открытым исходным кодом.

DotNetZip является тем. Простой, простой в использовании. Это имеет хорошие функции: Шифрование AES, регулярное шифрование, потоки, ZIP64, комментарии файла, Unicode, события прогресса, больше. И это свободно и с открытым исходным кодом.

Вот некоторый пример кода.

    // extract all Photoshop files larger than 100mb
    using (ZipFile zip1 = ZipFile.Read(ZipFileName))
    {
        var LargePhotoShopFiles = zip1.SelectEntries("name = *.psd  and size > 100mb");
        foreach (ZipEntry e in LargePhotoShopFiles)
        {
            if (e.UsesEncryption)
                e.ExtractWithPassword("unpackDirectory", "VerySecret!");
            else 
                e.Extract("unpackDirectory");
        }
    }
22
ответ дан 27 November 2019 в 21:49
поделиться

Система выезда. IO.Packaging. Класс ZipPackage.

10
ответ дан 27 November 2019 в 21:49
поделиться

РЕДАКТИРОВАНИЕ: См. примечание в комментариях - SharpZipLib теперь не сохраняется, и Вы, вероятно, хотите избежать его.

Открытый исходный код: #ZipLib

я полагаю, что классы в System.IO.Compression пространство имен хорошо для сжатия/распаковки единого потока данных, но нет ничего встроенного в платформу для преодоления фактических zip-файлов.

РЕДАКТИРОВАНИЕ: Как отмечено в ответе Муравьев, существует Система. IO.Packaging. ZipPackage, но это, конечно взгляды как это действительно разработано для использования в WPF и не было бы ужасно удобно использовать для общей обработки zip-файла. Стоящий изучения все же. Я не знал о нем прежде хотя... определенно стоящий исследования.

32
ответ дан 27 November 2019 в 21:49
поделиться

7Zip поможет и его доступное на нескольких языках

6
ответ дан 27 November 2019 в 21:49
поделиться

Попробуйте System.IO.Compression.DeflateStream.

1
ответ дан 27 November 2019 в 21:49
поделиться

Я буду вторым, кто порекомендует http://www.7-zip.org/sdk.html LZMA SDK, но это не ZIP.

  1. Он находится в общественное достояние
  2. Это БЫСТРО при распаковке
  3. Полностью управляемая реализация
  4. Сжатие намного лучше, чем ZIP / RAR
  5. У него очень маленькая занимаемая площадь
  6. Он может работать как поток
1
ответ дан 27 November 2019 в 21:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: