C#에서 스트림을 바이트 배열로 변환

Muhammad Maisam Abbas 2024년2월16일
  1. C#의Stream.CopyTo()함수를 사용하여Streambyte[]로 변환
  2. C#의MemoryStream.ToArray()함수를 사용하여MemoryStreambyte[]로 변환
C#에서 스트림을 바이트 배열로 변환

이 자습서에서는 C#에서 스트림을 바이트 배열로 변환하는 방법을 소개합니다.

C#의Stream.CopyTo()함수를 사용하여Streambyte[]로 변환

Stream.CopyTo(memoryStream)함수은 C#의memoryStreamStream을 추가합니다. Stream.CopyTo()함수를MemoryStream클래스의 객체와 함께 사용하여 스트림을 바이트 배열로 변환 할 수 있습니다. 다음 코드 예제는 C#에서Stream.CopyTo()함수를 사용하여 스트림을 바이트 배열로 변환하는 방법을 보여줍니다.

using System;
using System.IO;

namespace stream_to_byte_array {
  class Program {
    public static byte[] streamToByteArray(Stream input) {
      MemoryStream ms = new MemoryStream();
      input.CopyTo(ms);
      return ms.ToArray();
    }
    static void Main(string[] args) {}
  }
}

위 코드에서streamToByteArray()Stream객체를 매개 변수로 취하고 해당 객체를byte[]로 변환 한 다음 결과를 반환합니다. input스트림의 내용 사본을 저장하기 위해MemoryStream객체ms를 생성합니다. C#의input.CopyTo(ms)함수를 사용하여input스트림의 내용을ms메모리 스트림에 복사합니다. ms.ToArray()함수를 사용하여 복사 된 내용을 배열 형태로 반환합니다.

C#의MemoryStream.ToArray()함수를 사용하여MemoryStreambyte[]로 변환

위의 방법에서Streambyte[]로 변환하기 위해Memorystream을 생성합니다. Stream대신MemoryStream이있는 경우MemoryStream.ToArray()함수를 사용할 수 있습니다. MemoryStream.ToArray()함수MemoryStream을 C#의 바이트 배열로 변환합니다. MemoryStream.ToArray()함수의 반환 유형은byte[]입니다. 다음 코드 예제는 C#에서MemoryStream.ToArray()함수를 사용하여MemoryStreambyte[]로 변환하는 방법을 보여줍니다.

MemoryStream ms = new MemoryStream();
byte[] byteArray = ms.ToArray();

C#에서ms.ToArray()함수를 사용하여MemoryStream개체msbyteArray로 변환했습니다.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

관련 문장 - Csharp Stream

관련 문장 - Csharp Byte Array