Получить имена файлов из 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
}
}