Я пытаюсь создать программу, которая вызывает действие, как только новые данные были записаны в объект FileStream. Мой текущий подход заключается в следующем:Событие, когда данные были записаны в поток?
public class BlockingFileStream : FileStream
{
public override int Read(byte[] array, int offset, int count)
{
while (Position == Length) ;
return base.Read(array, offset, count);
}
public override int ReadByte()
{
while (Position == Length) ;
return base.ReadByte();
}
}
Как вы можете видеть, все это класс делает это ждать, пока длина ручья не больше, чем его текущая позиция. Однако, похоже, я работаю, мне было интересно, есть ли лучший способ сделать это. Поэтому мой вопрос:
Есть ли лучший способ сделать то, что сделано в коде, отрезаемом выше?
Записывается ли ваша программа в поток или другая программа записывается в файл во время ожидания, проверяя размер файла? –
Другая программа обращается к файлу в то же время, пока я хочу продолжать проверять, были ли новые данные записаны. – haiyyu