Как бы я прочитал поток без использования цикла? Когда я использую этот код он читает только 5714 байт, а не 1048576 байтFileStream.Read - Чтение потока без использования цикла
byte[] Buffer = new byte[1048576];
ByteSize = downloadstream.Read(Buffer, 0,Buffer.Lenght);
Если я использую этот цикл она отлично работает
while ((ByteSize = downloadstream.Read(Buffer, 0, Buffer.Length)) > 0)
{
//write stream to file
}
Так как же я прочитал весь поток без использования цикла? Спасибо, буду признателен за любую помощь. Я должен прочитать все данные в буфер, а затем написать его. Извините, я не упоминал об этом раньше.
EDIT: Вы можете использовать этот код, а также прочитать поток в буфер сразу:
using (var streamreader = new MemoryStream())
{
stream.CopyTo(streamreader);
buffer = streamreader.ToArray();
}
В своем верхнем фрагменте кода вы объявляете буфер с именем 'DownloadBuffer', но затем вы читаете в другой буфер, называемый' Buffer'. Это опечатка, или на самом деле, как выглядит ваша программа? Кроме того, 'Buffer.Lenght' - опечатка. Я бы отредактировал ваш вопрос, но я хочу знать, что вы надумали в первую очередь. – adv12