> 백엔드 개발 > C#.Net 튜토리얼 > C#의 BinaryWriter

C#의 BinaryWriter

WBOY
풀어 주다: 2024-09-03 15:22:35
원래의
362명이 탐색했습니다.

C#에서 BinaryWriter는 기본 유형을 특정 인코딩 스트림의 바이너리 데이터로 작성하는 데 사용되는 클래스입니다. System.IO 네임스페이스 아래에 있습니다.

다음은 BinaryWriter와 관련된 몇 가지 중요한 사항입니다.

  • BinaryWriter는 바이너리 파일을 생성하는 데 사용됩니다.
  • BinaryWriter를 사용하면 특정 인코딩으로 문자열을 쓸 수 있습니다.
  • BinaryWriter 개체를 생성하려면 Stream 개체를 BinaryWriter 클래스 생성자에 전달해야 합니다.
  • BinaryWriter 개체를 생성하는 동안 인코딩을 지정하지 않으면 기본적으로 UTF-8 인코딩이 사용됩니다.

설명이 포함된 구문

BinaryWriter의 객체를 생성하는 생성자는 네 가지 오버로드된 형태로 제공됩니다. 오버로드된 모든 생성자를 사용하여 BinaryWriter 객체를 생성하는 구문은 다음과 같습니다.

구문 #1

protected BinaryWriter();
로그인 후 복사

BinaryWriter 클래스의 인스턴스를 초기화하는 데 사용됩니다.

구문 #2

BinaryWriter binaryWriter = new BinaryWriter(outputStream) ;
로그인 후 복사

위 명령문은 지정된 스트림(outputStream)을 기반으로 UTF-8 문자 인코딩을 사용하여 BinaryWriter 클래스의 새 인스턴스를 초기화합니다.

구문 #3

BinaryWriter binaryWriter = new BinaryWriter(outputStream, encoding);
로그인 후 복사

위 명령문은 지정된 스트림(outputStream) 및 문자 인코딩(encoding)을 기반으로 BinaryWriter의 새 인스턴스를 초기화합니다.

구문 #4

BinaryWriter binaryWriter = new BinaryWriter(outputStream, encoding, true);
로그인 후 복사
  • 위 명령문은 두 번째 및 세 번째 명령문과 유사하게 작동합니다. 단, BinaryWriter 객체가 삭제된 후 출력 스트림을 열어 둘지 여부를 나타내는 데 사용할 수 있는 Boolean 데이터 유형의 추가 매개 변수가 있다는 점만 다릅니다.
  • 스트림을 열어두려면 부울 매개변수 값을 'true'로 설정해야 하며, 그렇지 않으면 'false'로 설정해야 합니다.
  • 'using' 블록 내에 BinaryWriter 클래스의 객체를 생성하여 객체 작업이 완료되고 더 이상 필요하지 않을 때 객체가 차지한 메모리가 자동으로 해제되도록 할 수 있습니다.

코드:

using (BinaryWriter binaryWriter = new BinaryWriter(File.Open(fileName, FileMode.Create )) )
{
//user code
}
로그인 후 복사

여기서 File.Open() 메서드는 BinaryWriter의 인스턴스를 생성하는 데 도움이 되는 FileStream 개체를 반환합니다.

C#에서 BinaryWriter는 어떻게 작동하나요?

  • C#에서 BinaryWriter는 바이너리 데이터를 파일에 쓰는 데 사용되거나 바이너리 파일을 만드는 데 사용된다고 말할 수 있습니다. 기본 데이터 유형을 이진 형식으로 스트림에 쓰는 데 도움이 됩니다. 또한 특정 문자 인코딩으로 문자열을 작성하는 데 도움이 됩니다.
  • BinaryWriter를 사용하려면 프로그램에서 System.IO 네임스페이스를 가져와야 합니다. 그런 다음 'new' 연산자를 사용하고 Stream 객체를 BinaryWriter 생성자로 우회하여 BinaryWriter 클래스의 객체를 생성할 수 있습니다.
  • BinaryWriter의 인스턴스를 생성하기 위해 일반적으로 생성자에 Stream 개체를 제공하는 동시에 파일을 쓰는 동안 사용할 인코딩을 지정하는 선택적 매개 변수를 제공할 수 있습니다. 사용자가 문자 인코딩을 제공하지 않는 경우 기본적으로 UTF-8 인코딩이 사용됩니다.
  • BinaryWriter의 객체를 생성하는 동안 생성자에 전달할 수 있는 또 다른 선택적 매개 변수가 있습니다. 이 매개변수는 부울 유형이며 BinaryWriter 객체가 삭제된 후에 사용자가 현재 스트림을 열어두기를 원하는지 여부를 지정하는 데 사용됩니다.
  • BinaryWriter 클래스는 다양한 데이터 유형에 대해 다양한 Write() 메서드를 제공합니다. 이러한 메서드는 바이너리 파일에 데이터를 쓰는 데 사용됩니다. As Write(Int32) 메서드는 현재 스트림에 4바이트 부호 있는 정수를 쓰는 데 사용되며 스트림 위치를 4바이트씩 앞으로 이동시킵니다.

BinaryWriter의 메소드

다음 표는 다양한 데이터 유형에 대한 BinaryWriter의 일부 Write() 메서드에 대한 세부 정보를 보여줍니다.

Method Description
Write(Boolean) This method is used to write the one-byte Boolean value to the present stream; 0 represents false while 1 represents true.
Write(Byte) This method is used to write an unsigned byte to the present stream and then it advances the position of the stream by one byte.
Write(Char) This method is used to write Unicode character to present stream and also it advances the present stream position according to the character encoding used and according to the characters being written to the present stream.
Write(Decimal) This method is used to write a decimal value to the present stream and also it advances the position of the current stream by sixteen bytes.
Write(Double) This method is used to write an eight-byte floating-point value to the present stream and then it also advances the position of the current stream by eight bytes.
Write(Int32) This method is used to write a four-byte signed integer to the present stream and then it advances the position of current stream by four bytes.
Write(String) This method is used to write length prefixed string to present stream in the present encoding of BinaryWriter and also it advances the current stream position according to the encoding used and according to the characters being written to the present stream.

Examples to Implement BinaryWriter in C#

Example showing the creation of file:

Code:

using System;
using System.IO;
namespace ConsoleApp4
{
public class Demo
{
string fileLocation = "E:\\Content\\newBinaryFile.dat";
public void WritingFile()
{
try
{
//checking if file exists
if (File.Exists(fileLocation))
{
File.Delete(fileLocation);
}
FileStream fileStream = new FileStream(fileLocation, FileMode.Create,
FileAccess.Write, FileShare.ReadWrite);
//creating binary file using BinaryWriter
using (BinaryWriter binaryWriter = new BinaryWriter(fileStream))
{
//writing data using different Write() methods
//of BinaryWriter
binaryWriter.Write(5253);
binaryWriter.Write("This is a string value.");
binaryWriter.Write('A');
}
}
catch (Exception exception)
{
Console.WriteLine(exception.Message);
}
}
public void ReadingFile()
{
try
{
FileStream fileStream = new FileStream(fileLocation, FileMode.Open,
FileAccess.Read, FileShare.ReadWrite);
using (BinaryReader binaryReader = new BinaryReader(fileStream))
{
Console.WriteLine("IntegerValue = " + binaryReader.ReadInt32());
Console.WriteLine("StringValue = " + binaryReader.ReadString());
Console.WriteLine("CharValue = " + binaryReader.ReadChar());
}
}
catch (Exception exception)
{
Console.WriteLine(exception.Message);
}
}
}
public class BinaryWriterDemo
{
static void Main(string[] args)
{
Demo demoObj = new Demo();
demoObj.WritingFile();
demoObj.ReadingFile();
Console.ReadLine();
}
}
}
로그인 후 복사

Output:

C#의 BinaryWriter

Conclusion

In C#, the BinaryWriter class is used to write primitive types as binary information to the stream. If the encoding is not defined, then the BinaryWriter class uses the default UTF-8 character encoding to write data to a binary file. An object of BinaryWriter can be created using the Stream object.

위 내용은 C#의 BinaryWriter의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿