2016-06-04 23 views
1

Ich versuche, mehrere Dateien mit lz4net zu komprimieren, aber ich weiß nicht einmal, wie ich anfangen soll.Komprimierung mit LZ4Net

Ich habe string[] oder List<string> mit Dateipfaden (und relativen Pfaden) und möchte es mit lz4 zu einer Datei komprimieren.

Später möchte ich es dekomprimieren, wobei ich auf die relativen Pfade achten muss.

Antwort

1

download dieses: https://lz4net.codeplex.com/ es ist LZ4 Dll.

erstellen Puffer für jede Datei

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; 
} 

Verwenden Sie dann den Puffer commpress/wie diese dekomprimieren:

LZ4.LZ4Codec.Decode (Eingang, Offset-, inputLength, outputLength); // Decoder

LZ4.LZ4Codec.Encode (Eingang, Offset, inputLength); // Encoder

Wenn Sie für die Vollversion von LZ 4 Dll (enthalten Frames Kompression) suchen, u Siehe diesen Link: https://www.nuget.org/packages/IonKiwi.lz4.net/1.0.5