rsyncと互換性がある、つまりgzip --rsyncableのように動作するデータを圧縮できるWindows(できれば.NET)ライブラリをお勧めしますか? zlibのリクエストの変更がいくつか見つかりましたが、実装されていないようです。 私はいくつかの並列圧縮アルゴリズムを使用しようとしましたが、それはブロック上で独立して圧縮を行うと思っていましたが、幸運にも(元のファイルの変更によって圧縮されたものが完全に変更される)Rsyncable圧縮ライブラリ
- > EDIT
私はzlibの同期モードを公開し、4096の定数バッファと同期フラッシュモードで使用DotNetZipライブラリをつかんだが、再度、入力ファイル内にも小さな変化があることを、出力ファイルを作ります完全に異なる。私が間違って行うことができるのは何ですか?
using (var inputStream = new FileStream("file.in", FileMode.Open))
using (var outputStream = new FileStream("file.out", FileMode.Create))
{
using (var compressor = new DeflateStream(outputStream, Ionic.Zlib.CompressionMode.Compress))
{
byte[] buffer = new byte[4096];
int n;
while ((n = inputStream.Read(buffer, 0, buffer.Length)) > 0)
{
compressor.FlushMode = FlushType.Sync;
compressor.Write(buffer, 0, n);
compressor.Flush();
// actually, Flush() is not needed, DeflateStream automatically flushes on every write.
}
}
}
シンクを行うと単純に周期的になることはありません。それは入力データに依存しなければならない。私が提供したソースコードへのリンクを読む必要があります。 –
@gregi .NETでrsyncable defalte圧縮を達成できましたか?コードを共有できますか? – Stritof