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
은 false
101
은 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에 따라 라이센스가 부여됩니다.