Используя C #, я был удивлен, насколько сложно сохранить двоичную информацию из потока.Я пытаюсь загрузить файл данных PNG с помощью класса WebRequest, но просто перенести полученный поток в файл, не повреждая его, было более многословно, чем я думал.Во-первых, простое использование StreamReader и StreamWriter было бесполезно, поскольку функция ReadToEnd () возвращает строку, которая эффективно удваивает размер файла PNG (вероятно, из-за преобразования UTF)
Так что мой вопрос:действительно нужно написать весь этот код, или есть более чистый способ сделать это?
Stream srBytes = webResponse.GetResponseStream();
// Write to file
Stream swBytes = new FileStream("map(" + i.ToString() + ").png",FileMode.Create,FileAccess.Write);
int count = 0;
byte[] buffer = new byte[4096];
do
{
count = srBytes.Read(buffer, 0, buffer.Length);
swBytes.Write(buffer, 0, count);
}
while (count != 0);
swBytes.Close();