У меня есть BinaryWriter, что подкреплено MemoryStream как таковой:Доступ к базовой MemoryStream [для чтения] в BinaryWriter
BinaryWriter m_binaryWriter = new BinaryWriter(new MemoryStream(BUFFER_SIZE));
Я хочу, чтобы получить базовый читателя и прочитать его в массив байтов:
long DataLength = m_binaryWriter.BaseStream.Length;
byte[] MemoryStrData = new byte[DataLength];
int BytesRead = m_binaryWriter.BaseStream.Read(MemoryStrData, 0, (int)DataLength);
Однако BytesRead всегда 0 (и, очевидно, MemoryStrData содержит все 0). Я попытался использовать BinaryReader для чтения потока из базового потока, но это привело к тому же. Я что-то упустил?
Вы уверены, что вы не после 'BinaryReader', а не' BinaryWriter' ..? –
Да, я пишу данные в бинарный журнал, но хочу получить доступ к смежному блоку (как только он пересечет BUFFER_SIZE). – bge0
Возможно, вам лучше реализовать пользовательский класс, полученный из 'Stream', и реализовать любую странную буферизацию/частичную фиксацию/ведение журнала (независимо от того, что вы делаете после чтения случайного блока из потока) внутри вашего класса ... –