【问题标题】:C# - DotNetZip - Create a brand new folder or file in archiveC# - DotNetZip - 在存档中创建一个全新的文件夹或文件
【发布时间】:2018-10-14 10:43:14
【问题描述】:

我正在开发一个项目,该项目创建一个压缩的 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 文件中创建文件或文件夹?

【问题讨论】:

    标签: c# .net visual-studio compression dotnetzip


    【解决方案1】:

    是的,您可以创建一个ZipEntry,它不依赖于现有的相应路径或文件名,您可以自己提供内容。例如:

    public void ConfigureFile(string loadDirectory)
    {
        using (ZipFile zip = ZipFile.Read(loadDirectory))
        {
            zip.AddEntry(@"Folder1\Test.txt", new byte[] { 1, 2, 3 });
            zip.Save();
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-29
      • 1970-01-01
      • 2017-07-11
      • 2020-04-27
      • 2010-12-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多