如何在不使用循环的情况下读取文件流?当我使用此代码只读取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
}
那么我将如何读,而无需使用一个循环的整个流? 谢谢,将不胜感激任何帮助。 我必须将所有数据读入缓冲区然后写入。对不起,我之前没有提到过。
编辑:您可以使用此代码,以及读流入缓冲区一次:
using (var streamreader = new MemoryStream())
{
stream.CopyTo(streamreader);
buffer = streamreader.ToArray();
}
在您的顶级代码片段中,您声明了一个名为'DownloadBuffer'的缓冲区,但是您可以读入另一个缓冲区,一个名为'Buffer'的缓冲区。这是一个错字,还是实际上你的程序看起来如何?此外,'Buffer.Lenght'是一个错字。我会编辑你的问题,但我想知道你首先想要什么。 – adv12