我有一个将数据输出到流的 DLL。但它添加了我不想要的后缀和前缀。我可以创建一个 MemoryStream,让 DLL 输出数据然后修剪它,但是可能有几 GB 的数据,所以我只想将它直接保存到文件(FileStream)中。我认为最好的解决方案是创建自己的 Stream 类。所以我做了:
function TFileStream2.Write(const Buffer; Count: Integer): Longint;
我检查位置,如果它是= 0,那么我从缓冲区中丢弃前几个字节。这样我可以修剪文件的开头。但是我怎样才能检测到流的结束,以便我可以从最后丢弃一些字节?