MemoryStream.Read 메서드
현재 스트림에서 바이트 블록을 읽어서 buffer에 씁니다.
네임스페이스: System.IO
어셈블리: mscorlib(mscorlib.dll)
구문
‘선언
Public Overrides Function Read ( _
<InAttribute> <OutAttribute> buffer As Byte(), _
offset As Integer, _
count As Integer _
) As Integer
‘사용 방법
Dim instance As MemoryStream
Dim buffer As Byte()
Dim offset As Integer
Dim count As Integer
Dim returnValue As Integer
returnValue = instance.Read(buffer, offset, count)
public override int Read (
[InAttribute] [OutAttribute] byte[] buffer,
int offset,
int count
)
public:
virtual int Read (
[InAttribute] [OutAttribute] array<unsigned char>^ buffer,
int offset,
int count
) override
public int Read (
/** @attribute InAttribute() */ /** @attribute OutAttribute() */ byte[] buffer,
int offset,
int count
)
public override function Read (
buffer : byte[],
offset : int,
count : int
) : int
매개 변수
- buffer
이 메서드는 지정된 바이트 배열의 값이 offset 및 (offset + count - 1) 사이에서 현재 스트림으로부터 읽어온 문자로 교체된 상태로 반환됩니다.
- offset
읽기를 시작할 buffer의 바이트 오프셋입니다.
- count
읽을 최대 바이트 수입니다.
반환 값
버퍼로 쓴 총 바이트 수입니다. 해당 바이트 수를 현재 사용할 수 없는 경우 이 수는 요청된 바이트 수보다 작을 수 있으며 바이트를 읽기 전에 스트림의 끝에 도달한 경우에는 0이 될 수도 있습니다.
예외
예외 형식 | 조건 |
---|---|
buffer가 Null 참조(Visual Basic의 경우 Nothing)인 경우 |
|
offset 또는 count가 음수인 경우 |
|
버퍼 길이에서 offset을 빼면 count보다 작은 경우 |
|
현재 스트림 인스턴스가 닫혀 있는 경우 |
설명
파일을 만들고 파일에 텍스트를 쓰는 방법에 대한 예제를 보려면 방법: 파일에 텍스트 쓰기를 참조하십시오. 파일에서 텍스트를 읽는 방법에 대한 예제를 보려면 방법: 파일의 텍스트 읽기를 참조하십시오. 이진 파일을 읽거나 쓰는 방법에 대한 예제를 보려면 방법: 새로 만든 데이터 파일 읽기 및 쓰기를 참조하십시오.
이 메서드는 Read를 재정의합니다.
offset 매개 변수는 현재 스트림의 데이터를 쓴 buffer에 있는 첫 번째 바이트의 오프셋을 제공합니다. count 매개 변수는 현재 스트림에서 읽은 최대 바이트 수를 제공합니다. 반환되는 값은 실제 읽은 바이트 수입니다. 스트림의 끝에 도달한 경우에는 0입니다.
읽기 작업이 성공적으로 수행되면 스트림 내의 현재 위치는 읽은 바이트 수만큼 앞으로 이동합니다. 예외가 발생하면 스트림 내의 현재 위치는 변경되지 않습니다.
Read 메서드는 스트림의 끝에 도달한 후에만 0을 반환합니다. 다른 모든 경우에 Read는 반환하기 전에 항상 스트림에서 1바이트 이상을 읽습니다. Read 호출 시 스트림에서 읽을 데이터가 없는 경우 Read 메서드는 0을 반환(스트림의 끝에 자동으로 도달함)하도록 정의되어 있습니다. 이 메서드를 구현하면 스트림의 끝에 도달하지 않은 경우에도 요청된 것보다 적은 바이트가 반환될 수 있습니다.
BinaryReader를 사용하여 기본 데이터 형식을 읽습니다.
경고
buffer 매개 변수에 지정된 바이트 배열이 GetBuffer 메서드에서 반환된 내부 버퍼이면 배열 내용을 덮어쓰고 예외가 throw되지 않습니다.
예제
이 코드 예제는 MemoryStream 클래스에 대해 제공되는 보다 큰 예제의 일부입니다.
' Read the first 20 bytes from the stream.
byteArray = _
New Byte(CType(memStream.Length, Integer)){}
count = memStream.Read(byteArray, 0, 20)
// Read the first 20 bytes from the stream.
byteArray = new byte[memStream.Length];
count = memStream.Read(byteArray, 0, 20);
// Read the first 20 bytes from the stream.
byteArray = gcnew array<Byte>(memStream->Length);
count = memStream->Read( byteArray, 0, 20 );
// Read the first 20 bytes from the stream.
byteArray = new ubyte[(int)memStream.get_Length()];
count = memStream.Read(byteArray, 0, 20);
플랫폼
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.
버전 정보
.NET Framework
2.0, 1.1, 1.0에서 지원
.NET Compact Framework
2.0, 1.0에서 지원
참고 항목
참조
MemoryStream 클래스
MemoryStream 멤버
System.IO 네임스페이스