BinaryWriter 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
기본 이진 형식을 스트림에 쓰고 특정 인코딩으로 된 문자열 쓰기를 지원합니다.
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.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class BinaryWriter : IDisposable
type BinaryWriter = class
interface IDisposable
type BinaryWriter = class
interface IAsyncDisposable
interface IDisposable
[<System.Serializable>]
type BinaryWriter = class
interface IDisposable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type BinaryWriter = class
interface IDisposable
Public Class BinaryWriter
Implements IDisposable
Public Class BinaryWriter
Implements IAsyncDisposable, IDisposable
- 상속
-
BinaryWriter
- 특성
- 구현
예제
다음 코드 예제에는 저장 하 고 파일에서 애플리케이션 설정을 검색 하는 방법을 보여 줍니다.
using System;
using System.IO;
using System.Text;
class ConsoleApplication
{
const string fileName = "AppSettings.dat";
static void Main()
{
WriteDefaultValues();
DisplayValues();
}
public static void WriteDefaultValues()
{
using (var stream = File.Open(fileName, FileMode.Create))
{
using (var writer = new BinaryWriter(stream, Encoding.UTF8, false))
{
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 (var stream = File.Open(fileName, FileMode.Open))
{
using (var reader = new BinaryReader(stream, Encoding.UTF8, false))
{
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);
}
}
}
open System.IO
open System.Text
let fileName = "AppSettings.dat"
let writeDefaultValues () =
use stream = File.Open(fileName, FileMode.Create)
use writer = new BinaryWriter(stream, Encoding.UTF8, false)
writer.Write 1.250F
writer.Write @"c:\Temp"
writer.Write 10
writer.Write true
let displayValues () =
if File.Exists fileName then
use stream = File.Open(fileName, FileMode.Open)
use reader = new BinaryReader(stream, Encoding.UTF8, false)
let aspectRatio = reader.ReadSingle()
let tempDirectory = reader.ReadString()
let autoSaveTime = reader.ReadInt32()
let showStatusBar = reader.ReadBoolean()
printfn $"Aspect ratio set to: {aspectRatio}"
printfn $"Temp directory is: {tempDirectory}"
printfn $"Auto save time set to: {autoSaveTime}"
printfn $"Show status bar: {showStatusBar}"
writeDefaultValues ()
displayValues ()
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
설명
클래스는 BinaryWriter 기본 데이터 형식을 스트림에 간단하게 쓰는 메서드를 제공합니다. 예를 들어 메서드를 Write 사용하여 스트림에 부울 값을 1 바이트 값으로 쓸 수 있습니다. 클래스에는 다양한 데이터 형식을 지원하는 쓰기 메서드가 포함됩니다.
클래스의 BinaryWriter 새 instance 만들 때 쓸 스트림을 제공하고 선택적으로 인코딩 유형과 개체를 삭제 BinaryWriter 한 후 스트림을 열어 둘지 여부를 지정합니다. 인코딩 형식을 지정하지 않으면 UTF-8이 사용됩니다.
중요
이 형식이 구현 하는 IDisposable 인터페이스입니다. 형식을 사용 하 여 마쳤으면 직접 또는 간접적으로의 삭제 해야 있습니다. 직접 형식의 dispose 호출 해당 Dispose 의 메서드를 try
/catch
블록입니다. 삭제 하지 직접, 언어 구문 같은 사용 using
(C#에서) 또는 Using
(Visual Basic에서는). 자세한 내용은 "를 사용 하는 개체는 구현 IDisposable" 섹션을 참조 하세요.를 IDisposable 인터페이스 항목입니다.
파생 클래스는 이 클래스의 메서드를 재정의하여 고유한 문자 인코딩을 제공할 수 있습니다.
생성자
BinaryWriter() |
스트림에 쓰는 BinaryWriter 클래스의 새 인스턴스를 초기화합니다. |
BinaryWriter(Stream) |
지정된 스트림을 기반으로 UTF-8 인코딩을 사용하여 BinaryWriter 클래스의 새 인스턴스를 초기화합니다. |
BinaryWriter(Stream, Encoding) |
지정된 스트림과 문자 인코딩을 기반으로 BinaryWriter 클래스의 새 인스턴스를 초기화합니다. |
BinaryWriter(Stream, Encoding, Boolean) |
지정된 스트림과 문자 인코딩을 기반으로 하는 BinaryWriter 클래스의 새 인스턴스를 초기화하고 스트림을 선택적으로 연 상태로 둡니다. |
필드
Null |
백업 저장소가 없는 BinaryWriter를 지정합니다. |
OutStream |
내부 스트림을 보유합니다. |
속성
BaseStream |
BinaryWriter의 내부 스트림을 가져옵니다. |
메서드
Close() |
현재 BinaryWriter 및 기본 스트림을 닫습니다. |
Dispose() |
BinaryWriter 클래스의 현재 인스턴스에서 사용하는 모든 리소스를 해제합니다. |
Dispose(Boolean) |
BinaryWriter에서 사용하는 관리되지 않는 리소스를 해제하고, 관리되는 리소스를 선택적으로 해제할 수 있습니다. |
DisposeAsync() |
BinaryWriter 클래스의 현재 인스턴스에서 사용하는 모든 리소스를 비동기식으로 해제합니다. |
Equals(Object) |
지정된 개체가 현재 개체와 같은지 확인합니다. (다음에서 상속됨 Object) |
Flush() |
현재 작성기에 대한 모든 버퍼를 지우면 버퍼링된 모든 데이터를 내부 디바이스에 씁니다. |
GetHashCode() |
기본 해시 함수로 작동합니다. (다음에서 상속됨 Object) |
GetType() |
현재 인스턴스의 Type을 가져옵니다. (다음에서 상속됨 Object) |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
Seek(Int32, SeekOrigin) |
현재 스트림 내에서 위치를 설정합니다. |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
Write(Boolean) |
|
Write(Byte) |
부호 없는 바이트를 현재 스트림에 쓰고 스트림 위치를 1바이트씩 앞으로 이동합니다. |
Write(Byte[]) |
내부 스트림에 바이트 배열을 씁니다. |
Write(Byte[], Int32, Int32) |
현재 스트림에 바이트 배열 영역을 씁니다. |
Write(Char) |
유니코드 문자를 현재 스트림에 쓴 다음 사용된 |
Write(Char[]) |
문자 배열을 현재 스트림에 쓴 다음 사용된 |
Write(Char[], Int32, Int32) |
문자 배열 섹션을 현재 스트림에 쓴 다음 사용된 |
Write(Decimal) |
10진 값을 현재 스트림에 쓰고 스트림 위치를 16바이트씩 앞으로 이동합니다. |
Write(Double) |
8바이트 부동 소수점 값을 현재 스트림에 쓰고 스트림 위치를 8바이트씩 앞으로 이동합니다. |
Write(Half) |
2바이트 부동 소수점 값을 현재 스트림에 쓰고 스트림 위치를 2바이트 앞으로 이동합니다. |
Write(Int16) |
2바이트 부호 있는 정수를 현재 스트림에 쓰고 스트림 위치를 2바이트씩 앞으로 이동합니다. |
Write(Int32) |
4바이트 부호 있는 정수를 현재 스트림에 쓰고 스트림 위치를 4바이트씩 앞으로 이동합니다. |
Write(Int64) |
8바이트 부호 있는 정수를 현재 스트림에 쓰고 스트림 위치를 8바이트씩 앞으로 이동합니다. |
Write(ReadOnlySpan<Byte>) |
현재 스트림에 바이트 범위를 씁니다. |
Write(ReadOnlySpan<Char>) |
문자 범위를 현재 스트림에 쓴 다음 사용된 |
Write(SByte) |
부호 있는 바이트를 현재 스트림에 쓰고 스트림 위치를 1바이트씩 앞으로 이동합니다. |
Write(Single) |
4바이트 부동 소수점 값을 현재 스트림에 쓰고 스트림 위치를 4바이트씩 앞으로 이동합니다. |
Write(String) |
BinaryWriter의 현재 인코딩으로 된 이 스트림에 문자열의 길이가 맨 앞에 나오는 문자열을 쓴 다음 사용된 인코딩과 스트림에 쓰여지는 특정 문자의 길이만큼 스트림의 현재 위치를 앞으로 이동합니다. |
Write(UInt16) |
2바이트 부호 없는 정수를 현재 스트림에 쓰고 스트림 위치를 2바이트씩 앞으로 이동합니다. |
Write(UInt32) |
4바이트 부호 없는 정수를 현재 스트림에 쓰고 스트림 위치를 4바이트씩 앞으로 이동합니다. |
Write(UInt64) |
8바이트 부호 없는 정수를 현재 스트림에 쓰고 스트림 위치를 8바이트씩 앞으로 이동합니다. |
Write7BitEncodedInt(Int32) |
압축 형식의 32비트 정수를 씁니다. |
Write7BitEncodedInt64(Int64) |
한 번에 7비트 숫자를 작성합니다. |
명시적 인터페이스 구현
IDisposable.Dispose() |
BinaryWriter에서 사용하는 관리되지 않는 리소스를 해제하고, 관리되는 리소스를 선택적으로 해제할 수 있습니다. |
확장 메서드
ConfigureAwait(IAsyncDisposable, Boolean) |
비동기 일회용에서 반환되는 작업을 대기하는 방법을 구성합니다. |
적용 대상
추가 정보
.NET
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기