อ่านไฟล์ไบนารีและการเขียน C #
BinaryReader และ BinaryWriterชั้นเรียนสำหรับการอ่านและการเขียนไฟล์ไบนารี
ระดับ BinaryReader
ระดับBinaryReader สำหรับการอ่านข้อมูลไบนารีจากแฟ้มวัตถุBinaryReader ส่งผ่านไปยังวัตถุ FileStreamคอนสตรัคของมันจะถูกสร้างขึ้น
ตารางต่อไปนี้แสดงวิธีการเรียน BinaryReaderบางส่วนร่วมกัน
序号 | 方法 & 描述 |
---|---|
1 | public override void Close() 关闭 BinaryReader 对象和基础流。 |
2 | public virtual int Read() 从基础流中读取字符,并把流的当前位置往前移。 |
3 | public virtual bool ReadBoolean() 从当前流中读取一个布尔值,并把流的当前位置往前移一个字节。 |
4 | public virtual byte ReadByte() 从当前流中读取下一个字节,并把流的当前位置往前移一个字节。 |
5 | public virtual byte[] ReadBytes(
int count
)
从当前流中读取指定数目的字节到一个字节数组中,并把流的当前位置往前移指定数目的字节。 |
6 | public virtual char ReadChar() 从当前流中读取下一个字节,并把流的当前位置按照所使用的编码和从流中读取的指定的字符往前移。 |
7 | public virtual char[] ReadChars(
int count
) 从当前流中读取指定数目的字节,在一个字符数组中返回数组,并把流的当前位置按照所使用的编码和从流中读取的指定的字符往前移。 |
8 | public virtual double ReadDouble() 从当前流中读取一个 8 字节浮点值,并把流的当前位置往前移八个字节。 |
9 | public virtual int ReadInt32() 从当前流中读取一个 4 字节有符号整数,并把流的当前位置往前移四个字节。 |
10 | public virtual string ReadString()
从当前流中读取一个字符串。字符串以长度作为前缀,同时编码为一个七位的整数。 |
สำหรับรายการที่สมบูรณ์โปรดไปที่ไมโครซอฟท์ C # เอกสาร
ระดับ BinaryWriter
ระดับBinaryWriter สำหรับการเขียนข้อมูลไบนารีไปยังแฟ้มวัตถุBinaryWriter ส่งผ่านไปยังวัตถุ FileStreamคอนสตรัคของมันจะถูกสร้างขึ้น
ตารางต่อไปนี้แสดงวิธีการเรียน 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,1 表示 true。 |
5 | public virtual void Write(
byte value
)
把一个无符号字节写入到当前流中,并把流的位置往前移一个字节。 |
6 | public virtual void Write(
byte[] buffer
)
把一个字节数组写入到基础流中。 |
7 | public virtual void Write(
char ch
)
把一个 Unicode 字符写入到当前流中,并把流的当前位置按照所使用的编码和要写入到流中的指定的字符往前移。 |
8 | public virtual void Write(
char[] chars
)
把一个字符数组写入到当前流中,并把流的当前位置按照所使用的编码和要写入到流中的指定的字符往前移。 |
9 | public virtual void Write(
double value
)
把一个 8 字节浮点值写入到当前流中,并把流位置往前移八个字节。 |
10 | public virtual void Write(
int value
)
把一个 4 字节有符号整数写入到当前流中,并把流位置往前移四个字节。 |
11 | public virtual void Write(
string value
)
把一个以长度为前缀的字符串写入到 BinaryWriter 的当前编码的流中,并把流的当前位置按照所使用的编码和要写入到流中的指定的字符往前移。 |
สำหรับรายการที่สมบูรณ์โปรดไปที่ไมโครซอฟท์ C # เอกสาร
ตัวอย่าง
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงการอ่านและการเขียนข้อมูลไบนารี:
การใช้ระบบ โดยใช้ System.IO; BinaryFileApplication namespace { Program รุ่น { เป็นโมฆะคง main (String args []) { BinaryWriter BW; BinaryReader br; int i = 25; D คู่ = 3.14157; บูล B = true; สตริง s = "ผมมีความสุข"; // สร้างไฟล์ลอง { BW = BinaryWriter ใหม่ (FileStream ใหม่ ( "MyData" FileMode.Create)); } catch (IOException จ) { Console.WriteLine (e.Message + "\ n ไม่สามารถสร้างแฟ้ม."); กลับ; } // พยายามที่จะเขียนไฟล์ { bw.Write (i); bw.Write (D); bw.Write (ข); bw.Write (s); } catch (IOException จ) { Console.WriteLine (e.Message + "\ n ไม่สามารถเขียนไปยังแฟ้ม."); กลับ; } bw.close (); // พยายามที่จะอ่านไฟล์ { br = BinaryReader ใหม่ (FileStream ใหม่ ( "MyData" FileMode.Open)); } catch (IOException จ) { Console.WriteLine (e.Message + "\ n ไม่สามารถเปิดไฟล์."); กลับ; } ความพยายาม { i = br.ReadInt32 (); Console.WriteLine ( "ข้อมูลจำนวนเต็ม: {0}" ผม); d = br.ReadDouble (); Console.WriteLine ( "ข้อมูลคู่: {0}", D); B = br.ReadBoolean (); Console.WriteLine ( "ข้อมูลแบบบูล: {0}" b); s = br.ReadString (); Console.WriteLine ( "ข้อมูล String: {0}", S); } catch (IOException จ) { Console.WriteLine (e.Message + "\ n ไม่สามารถอ่านจากไฟล์."); กลับ; } br.Close (); Console.ReadKey (); } } }
เมื่อโค้ดข้างต้นจะรวบรวมและดำเนินการก็จะก่อให้เกิดผลลัพธ์ต่อไปนี้:
ข้อมูลจำนวนเต็ม: 25 ข้อมูลคู่: 3.14157 ข้อมูลแบบบูล: ทรู ข้อมูลสตริง: ผมมีความสุข