たとえば、40Mb のファイルがあり、20Kb 程度の小さな変更を加えたいとします。
結果のファイルと元のファイルとの差分を簡単に作成できます。変更を加えているアプリケーションを使用して手動で作成するか、元のファイルと結果のファイルの両方を取得してそこから差分を生成します (Rabin の多項式指紋アルゴリズムなど)...
問題は、その差分 (新しいファイル) の効果的な結果を読み取るために、元の差分にパッチを適用し、結果の新しいファイルを作成して読み取る必要があることです...これにより、わずか 20kb の 2 つの 40mb ファイルが作成されます。それらの違い。最初のファイルを diff と組み合わせて使用し、結果の最終ファイルをまったく新しいコピーを作成することなく (とにかく読み取るために) 解析できることは論理的に思えます。
xdiff を調べたところ、2 つのファイルを指定して diff を作成する機能、またはファイルにパッチとして diff を適用する機能がありますが、元のファイルと diff ファイルが提供されたときに単純なファイル ハンドルを取得する機能はありません。
そのようなものは存在しますか?読み取り専用の場合でも、大きなファイルのストレージスペースを節約するのに非常に役立ちます(書き込み操作は、おそらく新しい差分に書き込むことができます)。
どの言語での例でも問題ありませんが、すぐに利用できる場合は c、python、または php が最適です。