C# - DotNetZip - 在存档中创建一个全新的文件夹或文件
C# - DotNetZip - Create a brand new folder or file in archive
我正在开发一个创建压缩 zip 文件然后向其中添加一些新文件和文件夹的项目。我已经在互联网上搜索了一段时间,但找不到解决方案。我在 Visual Studio 2017.
中使用 .NET Framework 4.7.1.
这是我尝试过的:
private void CreateFile(string saveDirectory)
{
using (ZipFile zip = new ZipFile())
{
zip.Password = "Some Password";
zip.Encryption = EncryptionAlgorithm.WinZipAes256;
zip.Save(saveDirectory);
}
}
private void ConfigureFile(string loadDirectory)
{
using (ZipFile zip = ZipFile.Read(loadDirectory))
{
zip.AddDirectory("Folder 1");
zip.AddDirectory("Folder 2");
zip.AddDirectory("Folder 3");
zip.AddFile("File 1");
zip.AddFile("File 2");
}
}
但它在项目目录中搜索该文件,并抛出 Not Found
错误。我也试过在硬盘上的某个地方创建文件夹或文件,然后将其放入 zip 文件中,但是 有没有办法直接在 zip 文件中创建文件或文件夹而不用?
是的,您可以创建一个不依赖现有相应路径或文件名的ZipEntry
,您可以自己提供内容。例如:
public void ConfigureFile(string loadDirectory)
{
using (ZipFile zip = ZipFile.Read(loadDirectory))
{
zip.AddEntry(@"Folder1\Test.txt", new byte[] { 1, 2, 3 });
zip.Save();
}
}
我正在开发一个创建压缩 zip 文件然后向其中添加一些新文件和文件夹的项目。我已经在互联网上搜索了一段时间,但找不到解决方案。我在 Visual Studio 2017.
中使用 .NET Framework 4.7.1.这是我尝试过的:
private void CreateFile(string saveDirectory)
{
using (ZipFile zip = new ZipFile())
{
zip.Password = "Some Password";
zip.Encryption = EncryptionAlgorithm.WinZipAes256;
zip.Save(saveDirectory);
}
}
private void ConfigureFile(string loadDirectory)
{
using (ZipFile zip = ZipFile.Read(loadDirectory))
{
zip.AddDirectory("Folder 1");
zip.AddDirectory("Folder 2");
zip.AddDirectory("Folder 3");
zip.AddFile("File 1");
zip.AddFile("File 2");
}
}
但它在项目目录中搜索该文件,并抛出 Not Found
错误。我也试过在硬盘上的某个地方创建文件夹或文件,然后将其放入 zip 文件中,但是 有没有办法直接在 zip 文件中创建文件或文件夹而不用?
是的,您可以创建一个不依赖现有相应路径或文件名的ZipEntry
,您可以自己提供内容。例如:
public void ConfigureFile(string loadDirectory)
{
using (ZipFile zip = ZipFile.Read(loadDirectory))
{
zip.AddEntry(@"Folder1\Test.txt", new byte[] { 1, 2, 3 });
zip.Save();
}
}