BinaryWriter Class

Definition

이진의 기본 형식을 스트림에 쓰며, 특정 인코딩의 문자열 쓰기를 지원합니다.Writes primitive types in binary to a stream and supports writing strings in a specific encoding.

public ref class BinaryWriter : IDisposable
public ref class BinaryWriter : IAsyncDisposable, IDisposable
public class BinaryWriter : IDisposable
public class BinaryWriter : IAsyncDisposable, IDisposable
[System.Serializable]
public class BinaryWriter : IDisposable
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class BinaryWriter : IDisposable
type BinaryWriter = class
    interface IDisposable
type BinaryWriter = class
    interface IAsyncDisposable
    interface IDisposable
Public Class BinaryWriter
Implements IDisposable
Public Class BinaryWriter
Implements IAsyncDisposable, IDisposable
Inheritance
BinaryWriter
Attributes
Implements

Examples

다음 코드 예제에는 저장 하 고 파일에서 애플리케이션 설정을 검색 하는 방법을 보여 줍니다.The following code example demonstrates how to store and retrieve application settings in a file.

using System;
using System.IO;

class ConsoleApplication
{
    const string fileName = "AppSettings.dat";

    static void Main()
    {
        WriteDefaultValues();
        DisplayValues();
    }

    public static void WriteDefaultValues()
    {
        using (BinaryWriter writer = new BinaryWriter(File.Open(fileName, FileMode.Create)))
        {
            writer.Write(1.250F);
            writer.Write(@"c:\Temp");
            writer.Write(10);
            writer.Write(true);
        }
    }

    public static void DisplayValues()
    {
        float aspectRatio;
        string tempDirectory;
        int autoSaveTime;
        bool showStatusBar;

        if (File.Exists(fileName))
        {
            using (BinaryReader reader = new BinaryReader(File.Open(fileName, FileMode.Open)))
            {
                aspectRatio = reader.ReadSingle();
                tempDirectory = reader.ReadString();
                autoSaveTime = reader.ReadInt32();
                showStatusBar = reader.ReadBoolean();
            }

            Console.WriteLine("Aspect ratio set to: " + aspectRatio);
            Console.WriteLine("Temp directory is: " + tempDirectory);
            Console.WriteLine("Auto save time set to: " + autoSaveTime);
            Console.WriteLine("Show status bar: " + showStatusBar);
        }
    }
}
Imports System.IO

Module Module1
    Const fileName As String = "AppSettings.dat"

    Sub Main()
        WriteDefaultValues()
        DisplayValues()
    End Sub

    Sub WriteDefaultValues()
        Using writer As BinaryWriter = New BinaryWriter(File.Open(fileName, FileMode.Create))
            writer.Write(1.25F)
            writer.Write("c:\Temp")
            writer.Write(10)
            writer.Write(True)
        End Using
    End Sub

    Sub DisplayValues()
        Dim aspectRatio As Single
        Dim tempDirectory As String
        Dim autoSaveTime As Integer
        Dim showStatusBar As Boolean

        If (File.Exists(fileName)) Then

            Using reader As BinaryReader = New BinaryReader(File.Open(fileName, FileMode.Open))
                aspectRatio = reader.ReadSingle()
                tempDirectory = reader.ReadString()
                autoSaveTime = reader.ReadInt32()
                showStatusBar = reader.ReadBoolean()
            End Using

            Console.WriteLine("Aspect ratio set to: " & aspectRatio)
            Console.WriteLine("Temp directory is: " & tempDirectory)
            Console.WriteLine("Auto save time set to: " & autoSaveTime)
            Console.WriteLine("Show status bar: " & showStatusBar)
        End If
    End Sub

End Module

Remarks

BinaryWriter 클래스는 스트림에 대 한 기본 데이터 형식의 쓰기를 간소화 하는 메서드를 제공 합니다.The BinaryWriter class provides methods that simplify writing primitive data types to a stream. 예를 들어 Write 메서드를 사용 하 여 부울 값을 1 바이트 값으로 스트림에 쓸 수 있습니다.For example, you can use the Write method to write a Boolean value to the stream as a one-byte value. 클래스는 다른 데이터 형식을 지 원하는 쓰기 메서드를 포함 합니다.The class includes write methods that support different data types.

BinaryWriter 클래스의 새 인스턴스를 만들 때 쓸 스트림을 제공 하 고, 필요에 따라 인코딩 형식을 지정 하 고, BinaryWriter 개체를 삭제 한 후 스트림을 열어 둘지 여부를 지정 합니다.When you create a new instance of the BinaryWriter class, you provide the stream to write to, and optionally specify the type of encoding and whether to leave the stream open after disposing the BinaryWriter object. 인코딩 유형을 지정 하지 않으면, u t F-8이 사용 됩니다.If you do not specify an encoding type, UTF-8 is used.

Important

이 형식이 구현 하는 IDisposable 인터페이스입니다.This type implements the IDisposable interface. 형식을 사용 하 여 마쳤으면 직접 또는 간접적으로의 삭제 해야 있습니다.When you have finished using the type, you should dispose of it either directly or indirectly. 직접 형식의 dispose 호출 해당 Dispose 의 메서드를 try/catch 블록입니다.To dispose of the type directly, call its Dispose method in a try/catch block. 삭제 하지 직접, 언어 구문 같은 사용 using (C#에서) 또는 Using (Visual Basic에서는).To dispose of it indirectly, use a language construct such as using (in C#) or Using (in Visual Basic). 자세한 내용은 "를 사용 하는 개체는 구현 IDisposable" 섹션을 참조 하세요.를 IDisposable 인터페이스 항목입니다.For more information, see the "Using an Object that Implements IDisposable" section in the IDisposable interface topic.

파생된 클래스는 고유한 문자 인코딩을 지정 하려면이 클래스의 메서드를 재정의할 수 있습니다.A derived class can override the methods of this class to give unique character encodings.

Constructors

BinaryWriter()

스트림에 쓰는 BinaryWriter 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the BinaryWriter class that writes to a stream.

BinaryWriter(Stream)

지정된 스트림을 기반으로 UTF-8 인코딩을 사용하여 BinaryWriter 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the BinaryWriter class based on the specified stream and using UTF-8 encoding.

BinaryWriter(Stream, Encoding)

지정된 스트림과 문자 인코딩을 기반으로 BinaryWriter 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the BinaryWriter class based on the specified stream and character encoding.

BinaryWriter(Stream, Encoding, Boolean)

지정된 스트림과 문자 인코딩을 기반으로 하는 BinaryWriter 클래스의 새 인스턴스를 초기화하고 스트림을 선택적으로 연 상태로 둡니다.Initializes a new instance of the BinaryWriter class based on the specified stream and character encoding, and optionally leaves the stream open.

Fields

Null

백업 저장소가 없는 BinaryWriter를 지정합니다.Specifies a BinaryWriter with no backing store.

OutStream

내부 스트림을 보유 합니다.Holds the underlying stream.

Properties

BaseStream

BinaryWriter의 내부 스트림을 가져옵니다.Gets the underlying stream of the BinaryWriter.

Methods

Close()

현재 BinaryWriter 및 기본 스트림을 닫습니다.Closes the current BinaryWriter and the underlying stream.

Dispose()

BinaryWriter 클래스의 현재 인스턴스에서 사용하는 리소스를 모두 해제합니다.Releases all resources used by the current instance of the BinaryWriter class.

Dispose(Boolean) BinaryWriter에서 사용한 관리되지 않는 리소스를 해제하고 선택적으로 관리되는 리소스를 해제합니다.Releases the unmanaged resources used by the BinaryWriter and optionally releases the managed resources.
DisposeAsync()

BinaryWriter 클래스의 현재 인스턴스에서 사용하는 모든 리소스를 비동기식으로 해제합니다.Asynchronously releases all resources used by the current instance of the BinaryWriter class.

Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.Determines whether the specified object is equal to the current object.

(Inherited from Object)
Flush()

현재 작성기에 대한 모든 버퍼를 지우면 버퍼링된 모든 데이터를 내부 디바이스에 씁니다.Clears all buffers for the current writer and causes any buffered data to be written to the underlying device.

GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(Inherited from Object)
GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(Inherited from Object)
Seek(Int32, SeekOrigin)

현재 스트림 내의 위치를 설정합니다.Sets the position within the current stream.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.Returns a string that represents the current object.

(Inherited from Object)
Write(Boolean)

Boolean를 나타내는 0과 false를 나타내는 1을 사용하여 1바이트 true 값을 현재 스트림에 씁니다.Writes a one-byte Boolean value to the current stream, with 0 representing false and 1 representing true.

Write(Byte)

부호 없는 바이트를 현재 스트림에 쓰고 스트림 위치를 1 바이트씩 합니다.Writes an unsigned byte to the current stream and advances the stream position by one byte.

Write(Byte[])

내부 스트림에 바이트 배열을 씁니다.Writes a byte array to the underlying stream.

Write(Byte[], Int32, Int32)

현재 스트림에 바이트 배열의 영역을 씁니다.Writes a region of a byte array to the current stream.

Write(Char)

유니코드 문자를 현재 스트림에 쓴 다음 사용된 Encoding과 스트림에 쓰여지는 특정 문자의 길이만큼 스트림의 현재 위치를 앞으로 이동합니다.Writes a Unicode character to the current stream and advances the current position of the stream in accordance with the Encoding used and the specific characters being written to the stream.

Write(Char[])

문자 배열을 현재 스트림에 쓴 다음 사용된 Encoding과 스트림에 쓰여지는 특정 문자의 길이만큼 스트림의 현재 위치를 앞으로 이동합니다.Writes a character array to the current stream and advances the current position of the stream in accordance with the Encoding used and the specific characters being written to the stream.

Write(Char[], Int32, Int32)

문자 배열 섹션을 현재 스트림에 쓴 다음 사용된 Encoding과 스트림에 쓰여지는 특정 문자의 길이만큼 스트림의 현재 위치를 앞으로 이동합니다.Writes a section of a character array to the current stream, and advances the current position of the stream in accordance with the Encoding used and perhaps the specific characters being written to the stream.

Write(Decimal)

10 진수 값을 현재 스트림에 쓰고 스트림 위치를 16 바이트씩 앞으로 이동 합니다.Writes a decimal value to the current stream and advances the stream position by sixteen bytes.

Write(Double)

8 바이트 부동 소수점 값을 현재 스트림에 쓰고 스트림 위치를 8 바이트씩 앞으로 이동 합니다.Writes an eight-byte floating-point value to the current stream and advances the stream position by eight bytes.

Write(Int16)

2 바이트 부호 있는 정수를 현재 스트림에 쓰고 스트림 위치를 2 바이트씩 합니다.Writes a two-byte signed integer to the current stream and advances the stream position by two bytes.

Write(Int32)

4 바이트 부호 있는 정수를 현재 스트림에 쓰고 스트림 위치를 4 바이트씩 앞으로 이동 합니다.Writes a four-byte signed integer to the current stream and advances the stream position by four bytes.

Write(Int64)

8 바이트 부호 있는 정수를 현재 스트림에 쓰고 스트림 위치를 8 바이트씩 앞으로 이동 합니다.Writes an eight-byte signed integer to the current stream and advances the stream position by eight bytes.

Write(ReadOnlySpan<Byte>)

현재 스트림에 바이트 범위를 씁니다.Writes a span of bytes to the current stream.

Write(ReadOnlySpan<Char>)

문자 범위를 현재 스트림에 쓴 다음 사용된 Encoding과 스트림에 쓰여지는 특정 문자의 길이만큼 스트림의 현재 위치를 앞으로 이동합니다.Writes a span of characters to the current stream, and advances the current position of the stream in accordance with the Encoding used and perhaps the specific characters being written to the stream.

Write(SByte)

부호 있는 바이트를 현재 스트림에 쓰고 스트림 위치를 1 바이트씩 합니다.Writes a signed byte to the current stream and advances the stream position by one byte.

Write(Single)

4 바이트 부동 소수점 값을 현재 스트림에 쓰고 스트림 위치를 4 바이트씩 앞으로 이동 합니다.Writes a four-byte floating-point value to the current stream and advances the stream position by four bytes.

Write(String)

BinaryWriter의 현재 인코딩으로 된 이 스트림에 문자열의 길이가 맨 앞에 나오는 문자열을 쓴 다음 사용된 인코딩과 스트림에 쓰여지는 특정 문자의 길이만큼 스트림의 현재 위치를 앞으로 이동합니다.Writes a length-prefixed string to this stream in the current encoding of the BinaryWriter, and advances the current position of the stream in accordance with the encoding used and the specific characters being written to the stream.

Write(UInt16)

2 바이트 부호 없는 정수를 현재 스트림에 쓰고 스트림 위치를 2 바이트씩 합니다.Writes a two-byte unsigned integer to the current stream and advances the stream position by two bytes.

Write(UInt32)

4 바이트 부호 없는 정수를 현재 스트림에 쓰고 스트림 위치를 4 바이트씩 앞으로 이동 합니다.Writes a four-byte unsigned integer to the current stream and advances the stream position by four bytes.

Write(UInt64)

8 바이트 부호 없는 정수를 현재 스트림에 쓰고 스트림 위치를 8 바이트씩 합니다.Writes an eight-byte unsigned integer to the current stream and advances the stream position by eight bytes.

Write7BitEncodedInt(Int32)

압축 형식의 32 비트 정수를 씁니다.Writes a 32-bit integer in a compressed format.

Explicit Interface Implementations

IDisposable.Dispose() BinaryWriter에서 사용한 관리되지 않는 리소스를 해제하고 선택적으로 관리되는 리소스를 해제합니다.Releases the unmanaged resources used by the BinaryWriter and optionally releases the managed resources.

Applies to

See also