Baca dalam bahasa Inggris

Bagikan melalui


BinaryWriter.Write Metode

Definisi

Menulis nilai ke aliran saat ini.

Overload

Write(Char[], Int32, Int32)

Menulis bagian array karakter ke aliran saat ini, dan memajukan posisi aliran saat ini sesuai dengan Encoding yang digunakan dan mungkin karakter tertentu yang ditulis ke aliran.

Write(Byte[], Int32, Int32)

Menulis wilayah array byte ke aliran saat ini.

Write(UInt64)

Menulis bilangan bulat delapan byte yang tidak ditandatangani ke aliran saat ini dan memajukan posisi aliran sebesar delapan byte.

Write(UInt32)

Menulis bilangan bulat empat byte yang tidak ditandatangani ke aliran saat ini dan memajukan posisi aliran sebesar empat byte.

Write(UInt16)

Menulis bilangan bulat dua byte yang tidak ditandatangani ke aliran saat ini dan memajukan posisi aliran sebesar dua byte.

Write(String)

Menulis string awalan panjang ke aliran ini dalam pengodean saat ini dari BinaryWriter, dan memajukan posisi aliran saat ini sesuai dengan pengodean yang digunakan dan karakter tertentu yang ditulis ke aliran.

Write(Single)

Menulis nilai floating-point empat byte ke aliran saat ini dan memajukan posisi aliran sebesar empat byte.

Write(SByte)

Menulis byte yang ditandatangani ke aliran saat ini dan memajukan posisi aliran dengan satu byte.

Write(ReadOnlySpan<Char>)

Menulis rentang karakter ke aliran saat ini, dan memajukan posisi aliran saat ini sesuai dengan Encoding yang digunakan dan mungkin karakter tertentu yang ditulis ke aliran.

Write(ReadOnlySpan<Byte>)

Menulis rentang byte ke aliran saat ini.

Write(Int64)

Menulis bilangan bulat bertanda delapan byte ke aliran saat ini dan memajukan posisi aliran sebesar delapan byte.

Write(Char[])

Menulis array karakter ke aliran saat ini dan memajukan posisi aliran saat ini sesuai dengan karakter yang Encoding digunakan dan karakter tertentu yang ditulis ke aliran.

Write(Int16)

Menulis bilangan bulat bertanda tangan dua byte ke aliran saat ini dan memajukan posisi aliran sebesar dua byte.

Write(Half)

Menulis nilai floating-point dua byte ke aliran saat ini dan memajukan posisi aliran sebesar dua byte.

Write(Double)

Menulis nilai floating-point delapan byte ke aliran saat ini dan memajukan posisi aliran sebesar delapan byte.

Write(Decimal)

Menulis nilai desimal ke aliran saat ini dan memajukan posisi aliran sebesar enam belas byte.

Write(Char)

Menulis karakter Unicode ke aliran saat ini dan memajukan posisi aliran saat ini sesuai dengan karakter yang Encoding digunakan dan karakter tertentu yang ditulis ke aliran.

Write(Byte[])

Menulis array byte ke aliran yang mendasar.

Write(Byte)

Menulis byte yang tidak ditandatangani ke aliran saat ini dan memajukan posisi aliran dengan satu byte.

Write(Boolean)

Menulis nilai satu byte Boolean ke aliran saat ini, dengan 0 mewakili false dan 1 mewakili true.

Write(Int32)

Menulis bilangan bulat bertanda empat byte ke aliran saat ini dan memajukan posisi aliran sebesar empat byte.

Write(Char[], Int32, Int32)

Sumber:
BinaryWriter.cs
Sumber:
BinaryWriter.cs
Sumber:
BinaryWriter.cs

Menulis bagian array karakter ke aliran saat ini, dan memajukan posisi aliran saat ini sesuai dengan Encoding yang digunakan dan mungkin karakter tertentu yang ditulis ke aliran.

public virtual void Write (char[] chars, int index, int count);

Parameter

chars
Char[]

Array karakter yang berisi data untuk ditulis.

index
Int32

Indeks karakter pertama yang dibaca dari chars dan untuk menulis ke aliran.

count
Int32

Jumlah karakter yang akan dibaca dari chars dan untuk ditulis ke aliran.

Pengecualian

Panjang buffer minus index kurang dari count.

charsadalah null.

index atau count negatif.

Terjadi kesalahan I/O.

Aliran ditutup.

Contoh

Contoh kode berikut menunjukkan cara membaca dan menulis data menggunakan memori sebagai penyimpanan cadangan.

using System;
using System.IO;

class BinaryRW
{
    static void Main()
    {
        char[] invalidPathChars = Path.InvalidPathChars;
        MemoryStream memStream = new MemoryStream();
        BinaryWriter binWriter = new BinaryWriter(memStream);

        // Write to memory.
        binWriter.Write("Invalid file path characters are: ");
        binWriter.Write(
            Path.InvalidPathChars, 0, Path.InvalidPathChars.Length);

        // Create the reader using the same MemoryStream
        // as used with the writer.
        BinaryReader binReader = new BinaryReader(memStream);

        // Set Position to the beginning of the stream.
        memStream.Position = 0;

        // Read the data from memory and write it to the console.
        Console.Write(binReader.ReadString());
        int arraySize = (int)(memStream.Length - memStream.Position);
        char[] memoryData = new char[arraySize];
        binReader.Read(memoryData, 0, arraySize);
        Console.WriteLine(memoryData);
    }
}

Keterangan

Untuk daftar tugas I/O umum, lihat Tugas I/O Umum.

Lihat juga

Berlaku untuk

Write(Byte[], Int32, Int32)

Sumber:
BinaryWriter.cs
Sumber:
BinaryWriter.cs
Sumber:
BinaryWriter.cs

Menulis wilayah array byte ke aliran saat ini.

public virtual void Write (byte[] buffer, int index, int count);

Parameter

buffer
Byte[]

Array byte yang berisi data untuk ditulis.

index
Int32

Indeks byte pertama yang dibaca dari buffer dan untuk menulis ke aliran.

count
Int32

Jumlah byte yang akan dibaca dari buffer dan untuk ditulis ke aliran.

Pengecualian

Panjang buffer minus index kurang dari count.

bufferadalah null.

index atau count negatif.

Terjadi kesalahan I/O.

Aliran ditutup.

Contoh

Contoh kode berikut menunjukkan cara menulis data biner menggunakan memori sebagai penyimpanan cadangan, lalu memverifikasi bahwa data ditulis dengan benar.

using System;
using System.IO;

namespace BinaryRW
{
    class Program
    {
        static void Main(string[] args)
        {
            const int arrayLength = 1000;
            byte[] dataArray = new byte[arrayLength];
            byte[] verifyArray = new byte[arrayLength];

            new Random().NextBytes(dataArray);

            using (BinaryWriter binWriter = new BinaryWriter(new MemoryStream()))
            {
                Console.WriteLine("Writing the data.");
                binWriter.Write(dataArray, 0, arrayLength);

                using (BinaryReader binReader = new BinaryReader(binWriter.BaseStream))
                {
                    binReader.BaseStream.Position = 0;

                    if (binReader.Read(verifyArray, 0, arrayLength) != arrayLength)
                    {
                        Console.WriteLine("Error writing the data.");
                        return;
                    }
                }
            }

            for (int i = 0; i < arrayLength; i++)
            {
                if (verifyArray[i] != dataArray[i])
                {
                    Console.WriteLine("Error writing the data.");
                    return;
                }
            }

            Console.WriteLine("The data was written and verified.");
        }
    }
}

Keterangan

Untuk daftar tugas I/O umum, lihat Tugas I/O Umum.

Lihat juga

Berlaku untuk

Write(UInt64)

Sumber:
BinaryWriter.cs
Sumber:
BinaryWriter.cs
Sumber:
BinaryWriter.cs

Penting

API ini bukan kompatibel CLS.

Menulis bilangan bulat delapan byte yang tidak ditandatangani ke aliran saat ini dan memajukan posisi aliran sebesar delapan byte.

[System.CLSCompliant(false)]
public virtual void Write (ulong value);

Parameter

value
UInt64

Bilangan bulat delapan byte yang tidak ditandatangani untuk ditulis.

Atribut

Pengecualian

Terjadi kesalahan I/O.

Aliran ditutup.

Keterangan

BinaryWriter menyimpan jenis data ini dalam format little endian.

Untuk daftar tugas I/O umum, lihat Tugas I/O Umum.

Lihat juga

Berlaku untuk

Write(UInt32)

Sumber:
BinaryWriter.cs
Sumber:
BinaryWriter.cs
Sumber:
BinaryWriter.cs

Penting

API ini bukan kompatibel CLS.

Menulis bilangan bulat empat byte yang tidak ditandatangani ke aliran saat ini dan memajukan posisi aliran sebesar empat byte.

[System.CLSCompliant(false)]
public virtual void Write (uint value);

Parameter

value
UInt32

Bilangan bulat empat byte yang tidak ditandatangani untuk ditulis.

Atribut

Pengecualian

Terjadi kesalahan I/O.

Aliran ditutup.

Keterangan

BinaryWriter menyimpan jenis data ini dalam format little endian.

Untuk daftar tugas I/O umum, lihat Tugas I/O Umum.

Lihat juga

Berlaku untuk

Write(UInt16)

Sumber:
BinaryWriter.cs
Sumber:
BinaryWriter.cs
Sumber:
BinaryWriter.cs

Penting

API ini bukan kompatibel CLS.

Menulis bilangan bulat dua byte yang tidak ditandatangani ke aliran saat ini dan memajukan posisi aliran sebesar dua byte.

[System.CLSCompliant(false)]
public virtual void Write (ushort value);

Parameter

value
UInt16

Bilangan bulat dua byte yang tidak ditandatangani untuk ditulis.

Atribut

Pengecualian

Terjadi kesalahan I/O.

Aliran ditutup.

Keterangan

BinaryWriter menyimpan jenis data ini dalam format little endian.

Untuk daftar tugas I/O umum, lihat Tugas I/O Umum.

Lihat juga

Berlaku untuk

Write(String)

Sumber:
BinaryWriter.cs
Sumber:
BinaryWriter.cs
Sumber:
BinaryWriter.cs

Menulis string berawalan panjang ke aliran ini dalam pengodean saat ini dari BinaryWriter, dan memajukan posisi aliran saat ini sesuai dengan pengodean yang digunakan dan karakter tertentu yang ditulis ke aliran.

public virtual void Write (string value);

Parameter

value
String

Nilai yang akan ditulis.

Pengecualian

Terjadi kesalahan I/O.

valueadalah null.

Aliran ditutup.

Contoh

Contoh kode berikut menunjukkan cara menyimpan dan mengambil pengaturan aplikasi dalam file.

using System;
using System.IO;
using System.Text;

class ConsoleApplication
{
    const string fileName = "AppSettings.dat";

    static void Main()
    {
        WriteDefaultValues();
        DisplayValues();
    }

    public static void WriteDefaultValues()
    {
        using (var stream = File.Open(fileName, FileMode.Create))
        {
            using (var writer = new BinaryWriter(stream, Encoding.UTF8, false))
            {
                writer.Write(1.250F);
                writer.Write(@"c:\Temp");
                writer.Write(10);
                writer.Write(true);
            }
        }
    }

    public static void DisplayValues()
    {
        float aspectRatio;
        string tempDirectory;
        int autoSaveTime;
        bool showStatusBar;

        if (File.Exists(fileName))
        {
            using (var stream = File.Open(fileName, FileMode.Open))
            {
                using (var reader = new BinaryReader(stream, Encoding.UTF8, false))
                {
                    aspectRatio = reader.ReadSingle();
                    tempDirectory = reader.ReadString();
                    autoSaveTime = reader.ReadInt32();
                    showStatusBar = reader.ReadBoolean();
                }
            }

            Console.WriteLine("Aspect ratio set to: " + aspectRatio);
            Console.WriteLine("Temp directory is: " + tempDirectory);
            Console.WriteLine("Auto save time set to: " + autoSaveTime);
            Console.WriteLine("Show status bar: " + showStatusBar);
        }
    }
}

Keterangan

Awalan panjang berarti bahwa metode ini pertama kali menulis panjang string, dalam byte, ketika dikodekan dengan BinaryWriter pengodean instans saat ini ke aliran. Nilai ini ditulis sebagai bilangan bulat yang tidak ditandatangani. Metode ini kemudian menulis bahwa banyak byte ke aliran.

Misalnya, string "A" memiliki panjang 1, tetapi ketika dikodekan dengan UTF-16; panjangnya adalah 2 byte, sehingga nilai yang ditulis dalam awalan adalah 2, dan 3 byte ditulis ke aliran, termasuk awalan.

Untuk daftar tugas I/O umum, lihat Tugas I/O Umum.

Lihat juga

Berlaku untuk

Write(Single)

Sumber:
BinaryWriter.cs
Sumber:
BinaryWriter.cs
Sumber:
BinaryWriter.cs

Menulis nilai floating-point empat byte ke aliran saat ini dan memajukan posisi aliran sebesar empat byte.

public virtual void Write (float value);

Parameter

value
Single

Nilai floating-point empat byte untuk ditulis.

Pengecualian

Terjadi kesalahan I/O.

Aliran ditutup.

Contoh

Contoh kode berikut menunjukkan cara menyimpan dan mengambil pengaturan aplikasi dalam file.

using System;
using System.IO;
using System.Text;

class ConsoleApplication
{
    const string fileName = "AppSettings.dat";

    static void Main()
    {
        WriteDefaultValues();
        DisplayValues();
    }

    public static void WriteDefaultValues()
    {
        using (var stream = File.Open(fileName, FileMode.Create))
        {
            using (var writer = new BinaryWriter(stream, Encoding.UTF8, false))
            {
                writer.Write(1.250F);
                writer.Write(@"c:\Temp");
                writer.Write(10);
                writer.Write(true);
            }
        }
    }

    public static void DisplayValues()
    {
        float aspectRatio;
        string tempDirectory;
        int autoSaveTime;
        bool showStatusBar;

        if (File.Exists(fileName))
        {
            using (var stream = File.Open(fileName, FileMode.Open))
            {
                using (var reader = new BinaryReader(stream, Encoding.UTF8, false))
                {
                    aspectRatio = reader.ReadSingle();
                    tempDirectory = reader.ReadString();
                    autoSaveTime = reader.ReadInt32();
                    showStatusBar = reader.ReadBoolean();
                }
            }

            Console.WriteLine("Aspect ratio set to: " + aspectRatio);
            Console.WriteLine("Temp directory is: " + tempDirectory);
            Console.WriteLine("Auto save time set to: " + autoSaveTime);
            Console.WriteLine("Show status bar: " + showStatusBar);
        }
    }
}

Keterangan

BinaryWriter menyimpan jenis data ini dalam format little endian.

Untuk daftar tugas I/O umum, lihat Tugas I/O Umum.

Lihat juga

Berlaku untuk

Write(SByte)

Sumber:
BinaryWriter.cs
Sumber:
BinaryWriter.cs
Sumber:
BinaryWriter.cs

Penting

API ini bukan kompatibel CLS.

Menulis byte yang ditandatangani ke aliran saat ini dan memajukan posisi aliran sebesar satu byte.

[System.CLSCompliant(false)]
public virtual void Write (sbyte value);

Parameter

value
SByte

Byte yang ditandatangani untuk menulis.

Atribut

Pengecualian

Terjadi kesalahan I/O.

Aliran ditutup.

Keterangan

Untuk daftar tugas I/O umum, lihat Tugas I/O Umum.

Lihat juga

Berlaku untuk

Write(ReadOnlySpan<Char>)

Sumber:
BinaryWriter.cs
Sumber:
BinaryWriter.cs
Sumber:
BinaryWriter.cs

Menulis rentang karakter ke aliran saat ini, dan memajukan posisi aliran saat ini sesuai dengan Encoding yang digunakan dan mungkin karakter tertentu yang ditulis ke aliran.

public virtual void Write (ReadOnlySpan<char> chars);

Parameter

chars
ReadOnlySpan<Char>

Rentang karakter untuk ditulis.

Berlaku untuk

Write(ReadOnlySpan<Byte>)

Sumber:
BinaryWriter.cs
Sumber:
BinaryWriter.cs
Sumber:
BinaryWriter.cs

Menulis rentang byte ke aliran saat ini.

public virtual void Write (ReadOnlySpan<byte> buffer);

Parameter

buffer
ReadOnlySpan<Byte>

Rentang byte untuk menulis.

Berlaku untuk

Write(Int64)

Sumber:
BinaryWriter.cs
Sumber:
BinaryWriter.cs
Sumber:
BinaryWriter.cs

Menulis bilangan bulat bertanda tangan delapan byte ke aliran saat ini dan memajukan posisi aliran sebesar delapan byte.

public virtual void Write (long value);

Parameter

value
Int64

Bilangan bulat bertanda tangan delapan byte untuk ditulis.

Pengecualian

Terjadi kesalahan I/O.

Aliran ditutup.

Keterangan

BinaryWriter menyimpan jenis data ini dalam format little endian.

Untuk daftar tugas I/O umum, lihat Tugas I/O Umum.

Lihat juga

Berlaku untuk

Write(Char[])

Sumber:
BinaryWriter.cs
Sumber:
BinaryWriter.cs
Sumber:
BinaryWriter.cs

Menulis array karakter ke aliran saat ini dan memajukan posisi aliran saat ini sesuai dengan karakter yang Encoding digunakan dan karakter tertentu yang ditulis ke aliran.

public virtual void Write (char[] chars);

Parameter

chars
Char[]

Array karakter yang berisi data untuk ditulis.

Pengecualian

charsadalah null.

Aliran ditutup.

Terjadi kesalahan I/O.

Contoh

Contoh kode berikut menunjukkan cara membaca dan menulis data menggunakan memori sebagai penyimpanan cadangan.

using System;
using System.IO;

class BinaryRW
{
    static void Main()
    {
        char[] invalidPathChars = Path.InvalidPathChars;
        MemoryStream memStream = new MemoryStream();
        BinaryWriter binWriter = new BinaryWriter(memStream);

        // Write to memory.
        binWriter.Write("Invalid file path characters are: ");
        binWriter.Write(Path.InvalidPathChars);

        // Create the reader using the same MemoryStream
        // as used with the writer.
        BinaryReader binReader = new BinaryReader(memStream);

        // Set Position to the beginning of the stream.
        memStream.Position = 0;

        // Read the data from memory and write it to the console.
        Console.Write(binReader.ReadString());
        Console.WriteLine(binReader.ReadChars(
            (int)(memStream.Length - memStream.Position)));
    }
}

Keterangan

Tabel berikut ini mencantumkan contoh tugas I/O umum atau terkait lainnya.

Untuk melakukan ini... Lihat contoh dalam topik ini...
Buat file teks. Cara: Menulis Teks ke File
Menulis ke file teks. Cara: Menulis Teks ke File
Membaca dari file teks. Cara: Membaca Teks dari File
Tambahkan teks ke file. Cara: Membuka dan Menambahkan ke File Log

File.AppendText

FileInfo.AppendText
Mendapatkan ukuran file. FileInfo.Length
Mendapatkan atribut file. File.GetAttributes
Atur atribut file. File.SetAttributes
Tentukan apakah ada file. File.Exists
Baca dari file biner. Cara: Membaca dan Menulis ke File Data yang Baru Dibuat
Menulis ke file biner. Cara: Membaca dan Menulis ke File Data yang Baru Dibuat

Lihat juga

Berlaku untuk

Write(Int16)

Sumber:
BinaryWriter.cs
Sumber:
BinaryWriter.cs
Sumber:
BinaryWriter.cs

Menulis bilangan bulat bertanda tangan dua byte ke aliran saat ini dan memajukan posisi aliran sebesar dua byte.

public virtual void Write (short value);

Parameter

value
Int16

Bilangan bulat bertanda tangan dua byte untuk menulis.

Pengecualian

Terjadi kesalahan I/O.

Aliran ditutup.

Keterangan

BinaryWriter menyimpan jenis data ini dalam format little endian.

Tabel berikut ini mencantumkan contoh tugas I/O umum atau terkait lainnya.

Untuk melakukan ini... Lihat contoh dalam topik ini...
Buat file teks. Cara: Menulis Teks ke File
Menulis ke file teks. Cara: Menulis Teks ke File
Membaca dari file teks. Cara: Membaca Teks dari File
Tambahkan teks ke file. Cara: Membuka dan Menambahkan ke File Log

File.AppendText

FileInfo.AppendText
Mendapatkan ukuran file. FileInfo.Length
Mendapatkan atribut file. File.GetAttributes
Atur atribut file. File.SetAttributes
Tentukan apakah ada file. File.Exists
Baca dari file biner. Cara: Membaca dan Menulis ke File Data yang Baru Dibuat
Menulis ke file biner. Cara: Membaca dan Menulis ke File Data yang Baru Dibuat

Lihat juga

Berlaku untuk

Write(Half)

Sumber:
BinaryWriter.cs
Sumber:
BinaryWriter.cs
Sumber:
BinaryWriter.cs

Menulis nilai floating-point dua byte ke aliran saat ini dan memajukan posisi aliran sebesar dua byte.

public virtual void Write (Half value);

Parameter

value
Half

Nilai floating-point dua byte untuk ditulis.

Pengecualian

Terjadi kesalahan I/O.

Aliran ditutup.

Contoh

Contoh kode berikut menunjukkan cara membaca dan menulis Double data ke memori dengan menggunakan BinaryReader kelas dan BinaryWriter di atas MemoryStream kelas . MemoryStream hanya membaca dan menulis Byte data.

using System;
using System.IO;

class BinaryRW
{
    static void Main()
    {
        int i;
        const int arrayLength = 1000;

        // Create random data to write to the stream.
        Random randomGenerator = new Random();
        double[] dataArray = new double[arrayLength];
        for(i = 0; i < arrayLength; i++)
        {
            dataArray[i] = 100.1 * randomGenerator.NextDouble();
        }

        using(BinaryWriter binWriter =
            new BinaryWriter(new MemoryStream()))
        {
            // Write the data to the stream.
            Console.WriteLine("Writing data to the stream.");
            for(i = 0; i < arrayLength; i++)
            {
                binWriter.Write(dataArray[i]);
            }

            // Create a reader using the stream from the writer.
            using(BinaryReader binReader =
                new BinaryReader(binWriter.BaseStream))
            {
                try
                {
                    // Return to the beginning of the stream.
                    binReader.BaseStream.Position = 0;

                    // Read and verify the data.
                    Console.WriteLine("Verifying the written data.");
                    for(i = 0; i < arrayLength; i++)
                    {
                        if(binReader.ReadDouble() != dataArray[i])
                        {
                            Console.WriteLine("Error writing data.");
                            break;
                        }
                    }
                    Console.WriteLine("The data was written " +
                        "and verified.");
                }
                catch(EndOfStreamException e)
                {
                    Console.WriteLine("Error writing data: {0}.",
                        e.GetType().Name);
                }
            }
        }
    }
}

Keterangan

Untuk daftar tugas I/O umum, lihat Tugas I/O Umum.

Lihat juga

Berlaku untuk

Write(Double)

Sumber:
BinaryWriter.cs
Sumber:
BinaryWriter.cs
Sumber:
BinaryWriter.cs

Menulis nilai floating-point delapan byte ke aliran saat ini dan memajukan posisi aliran sebesar delapan byte.

public virtual void Write (double value);

Parameter

value
Double

Nilai floating-point delapan byte untuk ditulis.

Pengecualian

Terjadi kesalahan I/O.

Aliran ditutup.

Contoh

Contoh kode berikut menunjukkan cara membaca dan menulis Double data ke memori dengan menggunakan BinaryReader kelas dan BinaryWriter di atas MemoryStream kelas . MemoryStream hanya membaca dan menulis Byte data.

using System;
using System.IO;

class BinaryRW
{
    static void Main()
    {
        int i;
        const int arrayLength = 1000;

        // Create random data to write to the stream.
        Random randomGenerator = new Random();
        double[] dataArray = new double[arrayLength];
        for(i = 0; i < arrayLength; i++)
        {
            dataArray[i] = 100.1 * randomGenerator.NextDouble();
        }

        using(BinaryWriter binWriter =
            new BinaryWriter(new MemoryStream()))
        {
            // Write the data to the stream.
            Console.WriteLine("Writing data to the stream.");
            for(i = 0; i < arrayLength; i++)
            {
                binWriter.Write(dataArray[i]);
            }

            // Create a reader using the stream from the writer.
            using(BinaryReader binReader =
                new BinaryReader(binWriter.BaseStream))
            {
                try
                {
                    // Return to the beginning of the stream.
                    binReader.BaseStream.Position = 0;

                    // Read and verify the data.
                    Console.WriteLine("Verifying the written data.");
                    for(i = 0; i < arrayLength; i++)
                    {
                        if(binReader.ReadDouble() != dataArray[i])
                        {
                            Console.WriteLine("Error writing data.");
                            break;
                        }
                    }
                    Console.WriteLine("The data was written " +
                        "and verified.");
                }
                catch(EndOfStreamException e)
                {
                    Console.WriteLine("Error writing data: {0}.",
                        e.GetType().Name);
                }
            }
        }
    }
}

Keterangan

Untuk daftar tugas I/O umum, lihat Tugas I/O Umum.

Lihat juga

Berlaku untuk

Write(Decimal)

Sumber:
BinaryWriter.cs
Sumber:
BinaryWriter.cs
Sumber:
BinaryWriter.cs

Menulis nilai desimal ke aliran saat ini dan memajukan posisi aliran sebesar enam belas byte.

public virtual void Write (decimal value);

Parameter

value
Decimal

Nilai desimal yang akan ditulis.

Pengecualian

Terjadi kesalahan I/O.

Aliran ditutup.

Keterangan

Tabel berikut ini mencantumkan contoh tugas I/O umum atau terkait lainnya.

Untuk melakukan ini... Lihat contoh dalam topik ini...
Buat file teks. Cara: Menulis Teks ke File
Menulis ke file teks. Cara: Menulis Teks ke File
Membaca dari file teks. Cara: Membaca Teks dari File
Tambahkan teks ke file. Cara: Membuka dan Menambahkan ke File Log

File.AppendText

FileInfo.AppendText
Mendapatkan ukuran file. FileInfo.Length
Mendapatkan atribut file. File.GetAttributes
Atur atribut file. File.SetAttributes
Tentukan apakah ada file. File.Exists
Baca dari file biner. Cara: Membaca dan Menulis ke File Data yang Baru Dibuat
Menulis ke file biner. Cara: Membaca dan Menulis ke File Data yang Baru Dibuat

Lihat juga

Berlaku untuk

Write(Char)

Sumber:
BinaryWriter.cs
Sumber:
BinaryWriter.cs
Sumber:
BinaryWriter.cs

Menulis karakter Unicode ke aliran saat ini dan memajukan posisi aliran saat ini sesuai dengan Encoding karakter yang digunakan dan karakter tertentu yang ditulis ke aliran.

public virtual void Write (char ch);

Parameter

ch
Char

Karakter non-pengganti Unicode untuk ditulis.

Pengecualian

Terjadi kesalahan I/O.

Aliran ditutup.

ch adalah karakter pengganti tunggal.

Contoh

Contoh kode berikut menunjukkan cara membaca dan menulis data menggunakan memori sebagai penyimpanan cadangan.

using System;
using System.IO;

class BinaryRW
{
    static void Main()
    {
        int i = 0;
        char[] invalidPathChars = Path.InvalidPathChars;
        MemoryStream memStream = new MemoryStream();
        BinaryWriter binWriter = new BinaryWriter(memStream);

        // Write to memory.
        binWriter.Write("Invalid file path characters are: ");
        for(i = 0; i < invalidPathChars.Length; i++)
        {
            binWriter.Write(invalidPathChars[i]);
        }

        // Create the reader using the same MemoryStream
        // as used with the writer.
        BinaryReader binReader = new BinaryReader(memStream);

        // Set Position to the beginning of the stream.
        memStream.Position = 0;

        // Read the data from memory and write it to the console.
        Console.Write(binReader.ReadString());
        char[] memoryData =
            new char[memStream.Length - memStream.Position];
        for(i = 0; i < memoryData.Length; i++)
        {
            memoryData[i] = binReader.ReadChar();
        }
        Console.WriteLine(memoryData);
    }
}

Keterangan

Karena konflik pemformatan data, menggunakan metode ini dengan pengodean berikut tidak disarankan:

  • UTF-7

  • ISO-2022-JP

  • ISCII

Untuk daftar tugas I/O umum, lihat Tugas I/O Umum.

Karakter pengganti Unicode harus ditulis sebagai pasangan bersama-sama dalam panggilan yang sama, bukan secara individual. Jika Anda memerlukan dukungan untuk pasangan pengganti di aplikasi Anda, pertimbangkan untuk menggunakan array karakter dan Write metode kelebihan beban.

Lihat juga

Berlaku untuk

Write(Byte[])

Sumber:
BinaryWriter.cs
Sumber:
BinaryWriter.cs
Sumber:
BinaryWriter.cs

Menulis array byte ke aliran yang mendasar.

public virtual void Write (byte[] buffer);

Parameter

buffer
Byte[]

Array byte yang berisi data untuk ditulis.

Pengecualian

Terjadi kesalahan I/O.

Aliran ditutup.

bufferadalah null.

Contoh

Contoh kode berikut menunjukkan cara menulis data biner menggunakan memori sebagai penyimpanan cadangan, lalu memverifikasi bahwa data ditulis dengan benar.

using System;
using System.IO;

class BinaryRW
{
    static void Main()
    {
        const int arrayLength = 1000;

        // Create random data to write to the stream.
        byte[] dataArray = new byte[arrayLength];
        new Random().NextBytes(dataArray);

        BinaryWriter binWriter = new BinaryWriter(new MemoryStream());

        // Write the data to the stream.
        Console.WriteLine("Writing the data.");
        binWriter.Write(dataArray);

        // Create the reader using the stream from the writer.
        BinaryReader binReader =
            new BinaryReader(binWriter.BaseStream);

        // Set Position to the beginning of the stream.
        binReader.BaseStream.Position = 0;

        // Read and verify the data.
        byte[] verifyArray = binReader.ReadBytes(arrayLength);
        if(verifyArray.Length != arrayLength)
        {
            Console.WriteLine("Error writing the data.");
            return;
        }
        for(int i = 0; i < arrayLength; i++)
        {
            if(verifyArray[i] != dataArray[i])
            {
                Console.WriteLine("Error writing the data.");
                return;
            }
        }
        Console.WriteLine("The data was written and verified.");
    }
}

Keterangan

Untuk daftar tugas I/O umum, lihat Tugas I/O Umum.

Lihat juga

Berlaku untuk

Write(Byte)

Sumber:
BinaryWriter.cs
Sumber:
BinaryWriter.cs
Sumber:
BinaryWriter.cs

Menulis byte yang tidak ditandatangani ke aliran saat ini dan memajukan posisi aliran satu byte.

public virtual void Write (byte value);

Parameter

value
Byte

Byte yang tidak ditandatangani untuk ditulis.

Pengecualian

Terjadi kesalahan I/O.

Aliran ditutup.

Contoh

Contoh kode berikut menunjukkan cara menulis data biner menggunakan memori sebagai penyimpanan cadangan, lalu memverifikasi bahwa data ditulis dengan benar.

using System;
using System.IO;

class BinaryRW
{
    static void Main()
    {
        int i = 0;

        // Create random data to write to the stream.
        byte[] writeArray = new byte[1000];
        new Random().NextBytes(writeArray);

        BinaryWriter binWriter = new BinaryWriter(new MemoryStream());
        BinaryReader binReader =
            new BinaryReader(binWriter.BaseStream);

        try
        {
            // Write the data to the stream.
            Console.WriteLine("Writing the data.");
            for(i = 0; i < writeArray.Length; i++)
            {
                binWriter.Write(writeArray[i]);
            }

            // Set the stream position to the beginning of the stream.
            binReader.BaseStream.Position = 0;

            // Read and verify the data from the stream.
            for(i = 0; i < writeArray.Length; i++)
            {
                if(binReader.ReadByte() != writeArray[i])
                {
                    Console.WriteLine("Error writing the data.");
                    return;
                }
            }
            Console.WriteLine("The data was written and verified.");
        }

        // Catch the EndOfStreamException and write an error message.
        catch(EndOfStreamException e)
        {
            Console.WriteLine("Error writing the data.\n{0}",
                e.GetType().Name);
        }
    }
}

Keterangan

Karena konflik pemformatan data, menggunakan metode ini dengan pengodean berikut tidak disarankan:

  • UTF-7

  • ISO-2022-JP

  • ISCII

Untuk daftar tugas I/O umum, lihat Tugas I/O Umum.

Lihat juga

Berlaku untuk

Write(Boolean)

Sumber:
BinaryWriter.cs
Sumber:
BinaryWriter.cs
Sumber:
BinaryWriter.cs

Menulis nilai satu byte Boolean ke aliran saat ini, dengan 0 mewakili false dan 1 mewakili true.

public virtual void Write (bool value);

Parameter

value
Boolean

Nilai Boolean yang akan ditulis (0 atau 1).

Pengecualian

Terjadi kesalahan I/O.

Aliran ditutup.

Contoh

Contoh kode berikut menunjukkan cara menyimpan dan mengambil pengaturan aplikasi dalam file.

using System;
using System.IO;
using System.Text;

class ConsoleApplication
{
    const string fileName = "AppSettings.dat";

    static void Main()
    {
        WriteDefaultValues();
        DisplayValues();
    }

    public static void WriteDefaultValues()
    {
        using (var stream = File.Open(fileName, FileMode.Create))
        {
            using (var writer = new BinaryWriter(stream, Encoding.UTF8, false))
            {
                writer.Write(1.250F);
                writer.Write(@"c:\Temp");
                writer.Write(10);
                writer.Write(true);
            }
        }
    }

    public static void DisplayValues()
    {
        float aspectRatio;
        string tempDirectory;
        int autoSaveTime;
        bool showStatusBar;

        if (File.Exists(fileName))
        {
            using (var stream = File.Open(fileName, FileMode.Open))
            {
                using (var reader = new BinaryReader(stream, Encoding.UTF8, false))
                {
                    aspectRatio = reader.ReadSingle();
                    tempDirectory = reader.ReadString();
                    autoSaveTime = reader.ReadInt32();
                    showStatusBar = reader.ReadBoolean();
                }
            }

            Console.WriteLine("Aspect ratio set to: " + aspectRatio);
            Console.WriteLine("Temp directory is: " + tempDirectory);
            Console.WriteLine("Auto save time set to: " + autoSaveTime);
            Console.WriteLine("Show status bar: " + showStatusBar);
        }
    }
}

Keterangan

Untuk daftar tugas I/O umum, lihat Tugas I/O Umum.

Lihat juga

Berlaku untuk

Write(Int32)

Sumber:
BinaryWriter.cs
Sumber:
BinaryWriter.cs
Sumber:
BinaryWriter.cs

Menulis bilangan bulat bertanda empat byte ke aliran saat ini dan memajukan posisi aliran sebesar empat byte.

public virtual void Write (int value);

Parameter

value
Int32

Bilangan bulat bertanda tangan empat byte untuk ditulis.

Pengecualian

Terjadi kesalahan I/O.

Aliran ditutup.

Contoh

Contoh kode berikut menunjukkan cara menyimpan dan mengambil pengaturan aplikasi dalam file.

using System;
using System.IO;
using System.Text;

class ConsoleApplication
{
    const string fileName = "AppSettings.dat";

    static void Main()
    {
        WriteDefaultValues();
        DisplayValues();
    }

    public static void WriteDefaultValues()
    {
        using (var stream = File.Open(fileName, FileMode.Create))
        {
            using (var writer = new BinaryWriter(stream, Encoding.UTF8, false))
            {
                writer.Write(1.250F);
                writer.Write(@"c:\Temp");
                writer.Write(10);
                writer.Write(true);
            }
        }
    }

    public static void DisplayValues()
    {
        float aspectRatio;
        string tempDirectory;
        int autoSaveTime;
        bool showStatusBar;

        if (File.Exists(fileName))
        {
            using (var stream = File.Open(fileName, FileMode.Open))
            {
                using (var reader = new BinaryReader(stream, Encoding.UTF8, false))
                {
                    aspectRatio = reader.ReadSingle();
                    tempDirectory = reader.ReadString();
                    autoSaveTime = reader.ReadInt32();
                    showStatusBar = reader.ReadBoolean();
                }
            }

            Console.WriteLine("Aspect ratio set to: " + aspectRatio);
            Console.WriteLine("Temp directory is: " + tempDirectory);
            Console.WriteLine("Auto save time set to: " + autoSaveTime);
            Console.WriteLine("Show status bar: " + showStatusBar);
        }
    }
}

Keterangan

BinaryWriter menyimpan jenis data ini dalam format little endian.

Untuk daftar tugas I/O umum, lihat Tugas I/O Umum.

Lihat juga

Berlaku untuk