1

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

我有string[]List<string>有文件路径(和相对路径),并想用 lz4 将它压缩到一个文件中。

稍后我想通过注意相对路径来解压缩它。

4

1 回答 1

1

下载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); // Decoder
LZ4.LZ4Codec.Encode(input, offset, inputLength); // Encoder

如果您正在寻找,这里是LZ4 dll 的完整版本(包括帧压缩)。

于 2016-08-22T21:05:28.540 回答