1

lz4net で複数のファイルを圧縮しようとしていますが、開始方法もわかりません。

string[]ファイルList<string>パス (および相対パス) を持っていて、lz4 で 1 つのファイルに圧縮したいと考えています。

あとで相対パスに気をつけて解凍したいと思います。

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 に答える