5

データをストリームにアウトパスするDLLがあります。しかし、それは私が望まない接尾辞と接頭辞を追加します。MemoryStreamを作成し、DLLにデータを出力させてからトリミングすることはできますが、数GBのデータが存在する可能性があるため、ファイル(FileStream)に直接保存するだけです。最善の解決策は、独自のStreamクラスを作成することだと思います。だから私は作った:

function TFileStream2.Write(const Buffer; Count: Integer): Longint;

ここで、Positionをチェックし、それが0の場合、バッファから最初の数バイトを破棄します。このようにして、ファイルの先頭をトリミングできます。しかし、ストリームの終わりを検出して、最後から数バイトを破棄するにはどうすればよいですか?

4

1 に答える 1

6

ストリーム オブジェクトが破棄されたら、ファイルの最後の部分を切り取るだけです。これを行うには、プロパティを変更しSizeます。

于 2012-06-20T13:19:21.317 に答える