Получить имена файлов из ZipFile

Как гласит заголовок, мне нужно прочитать имена файлов из zip-файла. Я собираюсь передать имена в массив строк 2D (вместе с другими данными). Вот начальный пример того, что я хотел бы сделать.

private String[,] ArrayFiller(ZipFile MyZip)
{
    int count = 0;
    ZipFile zipfile = ZipFile.Read();
    int zipSize = MyZip.Count;
    string[,] MyArr = new string[zipSize, zipSize];

    foreach (ZipEntry e in zipfile.EntriesSorted)
    {
        //dbcrArr[count,count] = e; -adds the file, but I need title
    }
    return MyArr;
}

Я уверен, что упускаю что-то простое, но я не могу найти свойство "имя файла" в классе ZipFile. Импортированная упаковка называется Ionic.Zip.

Может быть, это свойство какого-то молнии объекта?

2 ответа

Решение

Вам нужно использовать ZipArchive Учебный класс. От MSDN:

    using (ZipArchive archive = ZipFile.OpenRead(zipPath))
    {
        foreach (ZipArchiveEntry entry in archive.Entries)
        {
            Console.WriteLine(entry.FullName);
            //entry.ExtractToFile(Path.Combine(destFolder, entry.FullName));
        }
    } 

Возможно, вам повезет больше с классом ZipArchive.

using (ZipArchive archive = ZipFile.OpenRead(zipPath))
{
     foreach (ZipArchiveEntry entry in archive.Entries)
     {
          // The file name is entry.FullName
     }
} 
Другие вопросы по тегам