Member 12558924 Ответов: 0

Как проверить содержимое zip-файла перед тем, как перечислить его в combobox с помощью C# WF


Я хочу запрограммировать сообщение, которое сообщит мне, есть ли один или несколько файлов cvs в zip-файле, и даст мне количество файлов, содержащихся в этом zip-файле. Заранее спасибо

Что я уже пробовал:

var = comboBox1.SelectedItem.ToString();
fullpath = fbd.SelectedPath + "\\"+ var;

comboBox2.Items.Clear();
if (File.Exists(fullpath))
{
ZipArchive zip = ZipFile.OpenRead(fullpath);
MessageBox.Show(Directory.EnumerateFileSystemEntries(fullpath, "*.csv").ToList<string>().Count + " csv file(s) present"); // get error here
foreach (ZipArchiveEntry entry in zip.Entries)
{
comboBox2.Items.Add(entry.FullName); // fill comboBox2 with *.csv files from selected zip file
}
zip.Dispose();
}
else
{
MessageBox.Show("no csv file(s) present");
}

Garth J Lancaster

Почему вы используете каталог?Перечислять ? Это "локальный" каталог в вашей машине - ваш вопрос наводит меня на мысль, что вы хотите проверить zip-файл .. в этом случае

int numAllFiles = 0;
int numCSVFiles = 0;
foreach (запись ZipArchiveEntry в zip.Записи)
{
если (запись.Полное имя.EndsWith (". csv", StringComparison.OrdinalIgnoreCase))
{
numCSVFiles += 1;
}
numAllFiles += 1;
}

// Test numCSVFiles == 0 и т. д

Member 12558924

Прежде всего, спасибо за вашу помощь. Пожалуйста, вы действительно можете сказать мне, что я должен использовать вместо каталога.EnumerateFileSystemEntries, чтобы он мог подсчитать, сколько csv-файлов содержится в zip-файле?

Garth J Lancaster

Я дал тебе код

Member 12558924

да, я видел ваш код, но как насчет почтового ящика? я хочу использовать его

Garth J Lancaster

мы не служба написания кода - Вы должны быть готовы копаться и работать самостоятельно - у вас есть код messagebox в вашем первоначальном образце-адаптируйтесь, исследуйте, но не будьте вампиром помощи

Member 12558924

Извините, но я не удовлетворен своими личными исследованиями. Вот почему я здесь, а вы не ответили на вопрос, но это не имеет значения. До свидания и спасибо, что уделили мне время.

0 Ответов