#1 24.10.13 13:49
c# Stream to MemoryStream
Ищу наиболее рациональный способ перегнать поток в MemoryStream. Нашел несколько способов. ПЛохо понимаю, чем отличаются. Плюсы, минусы аргументированно? Спасибо!
Код: c#:
MemoryStream rawdata = new MemoryStream(); byte[] buffer = new byte[1024]; Stream rs = w.GetResponseStream(); int read = rs.Read(buffer,0,buffer.Length); while(read > 0) { rawdata.Write(buffer,0,read); read = rs.Read(buffer,0,buffer.Length); } rs.Close();
Код: c#:
byte[] buffer = new byte[4096]; using (MemoryStream memoryStream = new MemoryStream()) { int count = 0; do { count = responseStream.Read(buffer, 0, buffer.Length); memoryStream.Write(buffer, 0, count); } while (count != 0); }
Код: c#:
MemoryStream m = new MemoryStream(); Stream receiveStream = myHttpWebResponse.GetResponseStream(); using (StreamReader sr = new StreamReader(receiveStream)) { while (sr.Peek() >= 0) { memStream.WriteByte((byte)sr.Read()); } }
Код: c#:
FileStream inStream = File.OpenRead("c:\\text.txt"); MemoryStream storeStream = new MemoryStream(); storeStream.SetLength(inStream.Length); inStream.Read(storeStream.GetBuffer(), 0, (int)inStream.Length); }
Код: c#:
// Create the streams. MemoryStream destination = new MemoryStream(); using (FileStream source = File.Open(@"c:\temp\data.dat", FileMode.Open)) { Console.WriteLine("Source length: {0}", source.Length.ToString()); // Copy source to destination. source.CopyTo(destination); }
ЗЫ Для раскрытия темы
http://www.java2s.com/Code/CSharpAPI/Sy … mWrite.htm
Исправлено drug_detei (24.10.13 14:56)
Offline

