Как определить конец потока?

У меня есть DLL, которая выводит данные в поток. Но он добавляет постфикс и префикс, который мне не нужен. Я могу создать MemoryStream, позволить DLL вывести данные, а затем обрезать их, но может быть несколько ГБ данных, поэтому я просто хочу, чтобы они были сохранены непосредственно в файл (FileStream ). Я думаю, что лучшим решением является создание собственного класса Stream. Так что я сделал:

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

где я проверяю позицию, и если она = 0, я отбрасываю первые несколько байтов из буфера. Таким образом, я могу обрезать начало файла. Но как я могу обнаружить конец потока, чтобы я мог отбросить некоторые байты с конца?

5
задан Tom 20 June 2012 в 12:47
поделиться