SevenZipSharp压缩方法什么都不做,但为什么呢?

时间:2015-10-08 12:55:55

标签: c# .net compression sevenzipsharp

在乞讨时我想说明我的目标是什么 - 创建分割(非)压缩档案,保持目录结构完整

我检查了几个库,但SevenZipSharp似乎最接近我这样做。

现在我有这样的代码:

public static void PackFiles()
    {
        string dll = @"C:\Users\MyUsername\Downloads\7zip32b\7z.dll";

        SevenZipCompressor.SetLibraryPath(dll);
        SevenZipCompressor compressor = new SevenZipCompressor();
        compressor.ArchiveFormat = OutArchiveFormat.SevenZip;
        compressor.CompressionMode = CompressionMode.Create;
        compressor.TempFolderPath = System.IO.Path.GetTempPath();
        compressor.VolumeSize = 1 * 1024 * 1024;
        //compressor.CompressDirectory(defaultContentFolder, (defaultReadyZipFolder + zipName + ".zip"));
        // THIS ONE IS WORKING, BUT PACKS WHOLE FOLDER INSIDE ARCHIVE..

        string[] files = Directory.GetFiles(defaultContentFolder,"*.*",SearchOption.AllDirectories);

        compressor.CompressFiles(@"C:\Users\MyUsername\Packed\ArchiveName", files);

        Console.WriteLine("Zipped!");
    } 

所以,正如我上面评论的那样。使用compressor.CompressDirectory时,我设法压缩整个文件夹,然后将其打包在另一个存档中,然后拆分。一点也不漂亮......

所以我想给他一个dir里面的文件列表,把它们打包成一个档案,但它没有用。

当我调试时,编译器只执行CompressFiles方法,但根本不进入代码的其他部分,比如它被跳过或者某些东西......文件参数确实包含文件路径数组,所以那部分好吗?

有什么想法吗?或者可能有不同的解决方案来检查?

提前致谢!

1 个答案:

答案 0 :(得分:0)

不知道这是否有所帮助,但在做了一些挖掘之后 我在这里发现了这篇小文章

http://www.cupofdev.com/compress-files-7zip-csharp/

sevenZipCompressor.CompressDirectory();

可能需要尝试的是压缩目录应压缩您的目录而不是拆分文件