У кого-нибудь есть предложения о том, как взять папку и заархивировать каждую группу подобного имени. Это будут именами, которые не являются расширением.Как зашифровать несколько файлов с похожими именами файлов в C#
Вот черновик код, который я поставил вместе:
//When it gets to the 3rd file it for some reason throws an exception
//System.IO.FileNotFoundException: Could not find file 'c:\Temp\zipped\fileb.zip'.
//The funny thing is that I would figure it is trying to write this new filename why look for it
//This uses the Ionic.Zip.dll library
string InputDir="C:\\Temp\\";
string OutputDir="C:\\Temp\\zipped\\";
string prevFilename="";
ZipFile zip = new ZipFile();
Directory.SetCurrentDirectory(InputDir);//Will change this later
for (int x=0; x < myOtherList.Count;x++)
{
string fullfilename = myOtherList[x];
string[] fileDOTextension = fullfilename.Split('.');
if ((fileDOTextension[0]!=prevFilename)&&(x!=0))
{
zip.Save(OutputDir+prevFilename+".zip");
zip.RemoveSelectedEntries("name = *.*");
}
zip.AddFile(myOtherList[x]);
prevFilename=fileDOTextension[0];
}
FileNotFoundException является FileNotFoundException. Повторно проверьте, откуда генерируется исключение. Используйте отладчик, чтобы помочь. –
Ваш раскол может работать неточно. Что, если имя файла имеет период в нем, например system.data.dll? Чтобы получить имя файла без расширения, вы должны использовать Path.GetFilenameWithoutExtension (filename) –
Он выдает исключение в строке: -> zip.Save (OutputDir + prevFilename + ". Zip") , что не имеет смысла, потому что почему он ищет файл, который он пытается создать. Он должен искать только элементы, добавленные в очередь. Поскольку имя файла разделено чисто. Хмм до сих пор я использовал эту технику несколько раз, и похоже, что это чистые расколы. Я все еще думаю, что dll делает поиск по какой-то причине до сохранения. Не уверен ... – Michael