使用LZ4Net进行压缩

时间:2016-06-04 07:10:33

标签: c# compression lz4

我正在尝试使用lz4net压缩多个文件,但我甚至不知道如何开始。

我有string[]List<string>文件路径(以及相对路径),并希望将其压缩为lz4到一个文件。

后来我想解决相关路径的问题。

1 个答案:

答案 0 :(得分:1)

下载这个: https://lz4net.codeplex.com/ 它是LZ4 Dll。

为每个文件创建缓冲区

public byte[] FileToByteArray(string fileName)
{
                byte[] buff = null;
                FileStream fs = new FileStream(fileName,
                                               FileMode.Open,
                                               FileAccess.Read);
                BinaryReader br = new BinaryReader(fs);
                long numBytes = new FileInfo(fileName).Length;
                buff = br.ReadBytes((int)numBytes);
                return buff;
}

然后,使用缓冲区进行压缩/解压缩,如下所示:

LZ4.LZ4Codec.Decode(input,offset,inputLength,outputLength); //解码器

LZ4.LZ4Codec.Encode(input,offset,inputLength); // Encoder

如果您正在寻找完整版LZ4 Dll(包括帧压缩),请使用此链接: https://www.nuget.org/packages/IonKiwi.lz4.net/1.0.5