そんなに遅くないファイル分割・結合

某氏に"話題"のディスクをやってきた。燃料投下ってやつよ。
序盤はただの日常、後半はもはや日常を超えて荒れ狂ったあれ。
さて、ファイル分割って便利ですよね。しかし、結合がなぜか遅い。
大概、結合にはbatのスクリプトを使っていますが…
copy /b a.001 result.bin
copy /b result.bin + a.002 result.bin
copy /b result.bin + a.003 result.bin
という風にしているのでどんどん重くなります。
まぁ1番はコピーしているだけで、これはまぁいいとしよう。
2番目はまずresult.binをresult.binに、それに加えてa.002をresult.binにコピー…
それを繰り返すんで重くて当然です。
ところでファイルって後ろに書き足すことができます。当然ですけど…
現実にLibserverのPHPたちも使っています。
それをやるにはまぁプログラムを書くといいだろうと。
で、手順はこうした。まぁ1.binの後ろにに2.binを足す場合のことだ。
1. 1.binをBinaryWriterを用いて、2.binをBinaryReaderを用いて開く
2. BinaryReaderで10KB単位でメモリにあるはずのbyte[]にReadする
3. そのbyte[]をBinaryWriterで書き込む、これをのこり10KB未満になるまで2〜3を繰り返し
4. 残りをBinaryReaderでbyte[]にRead、そのbyte[]をBinaryWriterで書き込む
5. 2つを閉じて終了
というわけです。格段に速くなりました。10KBまとめてやるのでそれでも速くなっています。
ついでに分割プログラムですけれど、個人的趣味によりN分割するようにしました。
まぁ正直言うと分割プログラムは単純分割ならなんでもいいんですよ。
どれでもこれで結合できますね。
ただ、まぁ分割側も作っておこうと。ただし恐ろしくクセのあるものになってしまいましたが…
個人的にしかこっちは使えないや。
まぁこういう簡単だけど便利なプログラムていいですよね。
そういうのに便利なスクリプト言語もありそうだけどね…
簡単なものを当然のように簡単に書けるのがC#のいいところですよ。うん。