C# 바이너리 읽기 및 쓰기
20547 단어 C#
BinaryReader 및 BinaryWriter 클래스는 바이너리 파일을 읽고 쓰는 데 사용됩니다.BinaryReader 클래스
BinaryReader 클래스는 파일에서 바이너리 데이터를 읽는 데 사용됩니다.FileStream 대상을 구조 함수에 전달함으로써 BinaryReader 대상을 만든다.다음 표는
BinaryReader류의 상용 방법을 소개하였다.BinaryWriter 클래스
BinaryWriter 클래스는 바이너리 데이터를 스트림에 쓰는 데 사용됩니다.FileStream 대상을 구조 함수에 전달함으로써 BinaryWriter 대상을 만든다.다음 표는
BinaryWriter류의 상용 방법을 소개하였다.번호
메서드
묘사
1
public override void Close() 그것은
BinaryWriter 대상과 밑바닥 흐름을 닫는다.2
public virtual void Flush() 현재 쓰기의 모든 버퍼를 지우고, 모든 버퍼 데이터를 베이스 장치에 기록합니다.
3
public virtual long Seek(int offset, SeekOrigin origin) 현재 흐름의 위치를 설정합니다.
4
public virtual void Write(bool value) 한 바이트의 브리 값을 현재 흐름에 기록합니다. 그 중에서
0은 false101은 true입니다.5
public virtual void Write(byte value) 현재 흐름에 기호가 없는 바이트를 쓰고, 흐름의 위치를 한 바이트 앞당깁니다.
6
public virtual void Write(byte[] buffer) 바이트 그룹을 밑바닥 흐름에 기록합니다.
7
public virtual void Write(char ch) 현재 스트림에 유니코드 문자를 쓰고 사용되는 인코딩에 따라 스트림의 현재 위치에 특정 문자를 씁니다.
8
public virtual void Write(char[] chars) 현재 흐름에 문자 배열을 쓰고 인코딩과 특정 문자에 따라 흐름의 현재 위치를 기록합니다.
9
public virtual void Write(double value) 8바이트의 부동 소수점 값을 현재 흐름에 쓰고 흐름 위치를 8비트 앞당깁니다.10
public virtual void Write(int value) 4바이트의 기호 정수를 현재 흐름에 쓰고, 흐름의 위치를 4바이트 앞당깁니다.11
public virtual void Write(string value) BinaryWriter의 현재 인코딩에서 접두사 길이의 문자열을 이 흐름에 기록하고 사용한 인코딩과 특정 문자를 흐름에 기록함으로써 흐름의 현재 위치를 앞당깁니다.메서드의 전체 목록은 Microsoft C# 설명서를 참조하십시오.
예제
다음 예제에서는 바이너리 데이터를 읽고 쓰는 것을 보여 줍니다.
using System;
using System.IO;
namespace BinaryFileApplication
{
class Program
{
static void Main(string[] args)
{
BinaryWriter bw;
BinaryReader br;
int i = 25;
double d = 3.14157;
bool b = true;
string s = "I am happy";
//create the file
try
{
bw = new BinaryWriter(new FileStream("mydata", FileMode.Create));
}
catch (IOException e)
{
Console.WriteLine(e.Message + "
Cannot create file.");
return;
}
//writing into the file
try
{
bw.Write(i);
bw.Write(d);
bw.Write(b);
bw.Write(s);
}
catch (IOException e)
{
Console.WriteLine(e.Message + "
Cannot write to file.");
return;
}
bw.Close();
//reading from the file
try
{
br = new BinaryReader(new FileStream("mydata", FileMode.Open));
}
catch (IOException e)
{
Console.WriteLine(e.Message + "
Cannot open file.");
return;
}
try
{
i = br.ReadInt32();
Console.WriteLine("Integer data: {0}", i);
d = br.ReadDouble();
Console.WriteLine("Double data: {0}", d);
b = br.ReadBoolean();
Console.WriteLine("Boolean data: {0}", b);
s = br.ReadString();
Console.WriteLine("String data: {0}", s);
}
catch (IOException e)
{
Console.WriteLine(e.Message + "
Cannot read from file.");
return;
}
br.Close();
Console.ReadKey();
}
}
}
C#
이러한 코드가 컴파일되고 실행되면 다음과 같은 결과가 발생합니다.
Integer data: 25
Double data: 3.14157
Boolean data: True
String data: I am happy
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지Evergreen .Net Framework SDK 4.8 VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.