Ionic Zip 无法压缩文件夹 C# 中的文件夹
Ionic Zip cannot zip folder inside folder C#
我正在尝试使用 C# 中的 IonicZip 库压缩文件夹。可以压缩文件夹中的.txt,.exe,.pdf等文件,但不能压缩文件夹中的文件夹。
它可以压缩 MusicLogs.txt 和 Video.exe 但不能压缩音乐 folder.Music 文件夹也包含一些文件夹。即使在调试时也看不到音乐文件夹。我的代码是:
string zipPath = @"C:\" + DateTime.Now.ToString("yyyy-MM-dd HH-mm") + ".zip"; // zipped file extracts here
string filename = @"E:\"; // the fodler which should be zipped. File must be exist
using (ZipFile zipFile = new ZipFile())
{
zipFile.Password = "asd";
zipFile.Encryption = EncryptionAlgorithm.PkzipWeak;
foreach (string file in Directory.GetFiles(filename)) // this foreach is for getting all files in a folder.
{
zipFile.AddFile(file, "YESMusic"); // set file
}
zipFile.Save(zipPath);
}
问题出在哪里?需要更改 AddFile 函数吗?谢谢
这会起作用:
using (ZipFile zipFile = new ZipFile())
{
zipFile.Password = "asd";
zipFile.Encryption = EncryptionAlgorithm.PkzipWeak;
// Adding folders in the base directory
foreach (var item in Directory.GetDirectories(filename))
{
string folderName = new DirectoryInfo(item).Name;
zipFile.AddDirectory(item, folderName);
}
// Adding files in the base directory
foreach (string file in Directory.GetFiles(filename))
{
zipFile.AddFile(file);
}
zipFile.Save(zipPath);
}
我正在尝试使用 C# 中的 IonicZip 库压缩文件夹。可以压缩文件夹中的.txt,.exe,.pdf等文件,但不能压缩文件夹中的文件夹。
它可以压缩 MusicLogs.txt 和 Video.exe 但不能压缩音乐 folder.Music 文件夹也包含一些文件夹。即使在调试时也看不到音乐文件夹。我的代码是:
string zipPath = @"C:\" + DateTime.Now.ToString("yyyy-MM-dd HH-mm") + ".zip"; // zipped file extracts here
string filename = @"E:\"; // the fodler which should be zipped. File must be exist
using (ZipFile zipFile = new ZipFile())
{
zipFile.Password = "asd";
zipFile.Encryption = EncryptionAlgorithm.PkzipWeak;
foreach (string file in Directory.GetFiles(filename)) // this foreach is for getting all files in a folder.
{
zipFile.AddFile(file, "YESMusic"); // set file
}
zipFile.Save(zipPath);
}
问题出在哪里?需要更改 AddFile 函数吗?谢谢
这会起作用:
using (ZipFile zipFile = new ZipFile())
{
zipFile.Password = "asd";
zipFile.Encryption = EncryptionAlgorithm.PkzipWeak;
// Adding folders in the base directory
foreach (var item in Directory.GetDirectories(filename))
{
string folderName = new DirectoryInfo(item).Name;
zipFile.AddDirectory(item, folderName);
}
// Adding files in the base directory
foreach (string file in Directory.GetFiles(filename))
{
zipFile.AddFile(file);
}
zipFile.Save(zipPath);
}