Latest web development tutorials
×

C# หลักสูตร

C# หลักสูตร C# แนะนำโดยย่อ C# สิ่งแวดล้อม C# โครงสร้างหลักสูตร C# ไวยากรณ์พื้นฐาน C# ชนิดข้อมูล C# ประเภทการแปลง C# ตัวแปร C# คงที่ C# ผู้ประกอบการ C# ผู้พิพากษา C# การไหลเวียน C# บรรจุภัณฑ์ C# ทาง C# ประเภท nullable C# แถว(Array) C# เชือก(String) C# โครงสร้าง(Struct) C# แจกแจง(Enum) C# หมวดหมู่(Class) C# สืบทอด C# polymorphism C# ดำเนินงานมาก C# อินเตอร์เฟซ(Interface) C# namespaces(Namespace) C# สั่ง preprocessor C# นิพจน์ปกติ C# การจัดการข้อยกเว้น C# input และ output ไฟล์

C# การสอนที่ทันสมัย

C# คุณสมบัติ(Attribute) C# การสะท้อนกลับ(Reflection) C# คุณสมบัติ(Property) C# ทำดัชนี(Indexer) C# มอบความไว้วางใจ(Delegate) C# เหตุการณ์(Event) C# ตั้งค่า(Collection) C# ยาชื่อสามัญ(Generic) C# วิธีการที่ไม่ระบุชื่อ C# รหัสที่ไม่ปลอดภัย C# multithreading

อ่านไฟล์ไบนารีและการเขียน C #

อินพุตและเอาต์พุตแฟ้ม C # อินพุตและเอาต์พุตแฟ้ม C #

BinaryReader และ BinaryWriterชั้นเรียนสำหรับการอ่านและการเขียนไฟล์ไบนารี

ระดับ BinaryReader

ระดับBinaryReader สำหรับการอ่านข้อมูลไบนารีจากแฟ้มวัตถุBinaryReader ส่งผ่านไปยังวัตถุ FileStreamคอนสตรัคของมันจะถูกสร้างขึ้น

ตารางต่อไปนี้แสดงวิธีการเรียน BinaryReaderบางส่วนร่วมกัน

序号方法 & 描述
1public override void Close()
关闭 BinaryReader 对象和基础流。
2public virtual int Read()
从基础流中读取字符,并把流的当前位置往前移。
3public virtual bool ReadBoolean()
从当前流中读取一个布尔值,并把流的当前位置往前移一个字节。
4public virtual byte ReadByte()
从当前流中读取下一个字节,并把流的当前位置往前移一个字节。
5public virtual byte[] ReadBytes( int count )
从当前流中读取指定数目的字节到一个字节数组中,并把流的当前位置往前移指定数目的字节。
6public virtual char ReadChar()
从当前流中读取下一个字节,并把流的当前位置按照所使用的编码和从流中读取的指定的字符往前移。
7public virtual char[] ReadChars( int count )
从当前流中读取指定数目的字节,在一个字符数组中返回数组,并把流的当前位置按照所使用的编码和从流中读取的指定的字符往前移。
8public virtual double ReadDouble()
从当前流中读取一个 8 字节浮点值,并把流的当前位置往前移八个字节。
9public virtual int ReadInt32()
从当前流中读取一个 4 字节有符号整数,并把流的当前位置往前移四个字节。
10public virtual string ReadString()
从当前流中读取一个字符串。字符串以长度作为前缀,同时编码为一个七位的整数。

สำหรับรายการที่สมบูรณ์โปรดไปที่ไมโครซอฟท์ C # เอกสาร

ระดับ BinaryWriter

ระดับBinaryWriter สำหรับการเขียนข้อมูลไบนารีไปยังแฟ้มวัตถุBinaryWriter ส่งผ่านไปยังวัตถุ FileStreamคอนสตรัคของมันจะถูกสร้างขึ้น

ตารางต่อไปนี้แสดงวิธีการเรียน BinaryWriterบางส่วนร่วมกัน

序号方法 & 描述
1public override void Close()
关闭 BinaryWriter 对象和基础流。
2public virtual void Flush()
清理当前编写器的所有缓冲区,使得所有缓冲数据写入基础设备。
3public virtual long Seek( int offset, SeekOrigin origin )
设置当前流内的位置。
4public virtual void Write( bool value )
把一个单字节的布尔值写入到当前流中,0 表示 false,1 表示 true。
5public virtual void Write( byte value )
把一个无符号字节写入到当前流中,并把流的位置往前移一个字节。
6public virtual void Write( byte[] buffer )
把一个字节数组写入到基础流中。
7public virtual void Write( char ch )
把一个 Unicode 字符写入到当前流中,并把流的当前位置按照所使用的编码和要写入到流中的指定的字符往前移。
8public virtual void Write( char[] chars )
把一个字符数组写入到当前流中,并把流的当前位置按照所使用的编码和要写入到流中的指定的字符往前移。
9public virtual void Write( double value )
把一个 8 字节浮点值写入到当前流中,并把流位置往前移八个字节。
10public virtual void Write( int value )
把一个 4 字节有符号整数写入到当前流中,并把流位置往前移四个字节。
11public 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
ข้อมูลแบบบูล: ทรู
ข้อมูลสตริง: ผมมีความสุข

อินพุตและเอาต์พุตแฟ้ม C # อินพุตและเอาต์พุตแฟ้ม C #