Bagikan melalui


File.OpenWrite(String) Metode

Definisi

Membuka file yang sudah ada atau membuat file baru untuk ditulis.

public:
 static System::IO::FileStream ^ OpenWrite(System::String ^ path);
public static System.IO.FileStream OpenWrite (string path);
static member OpenWrite : string -> System.IO.FileStream
Public Shared Function OpenWrite (path As String) As FileStream

Parameter

path
String

File yang akan dibuka untuk ditulis.

Mengembalikan

Objek yang tidak dibagikan FileStream pada jalur yang ditentukan dengan Write akses.

Pengecualian

Pemanggil tidak memiliki izin yang diperlukan.

-atau-

path menentukan file atau direktori baca-saja.

versi .NET Framework dan .NET Core yang lebih lama dari 2.1: path adalah string panjang nol, hanya berisi spasi kosong, atau berisi satu atau beberapa karakter yang tidak valid. Anda bisa mengkueri karakter yang tidak valid dengan menggunakan metode .GetInvalidPathChars()

pathadalah null.

Jalur yang ditentukan, nama file, atau keduanya melebihi panjang maksimum yang ditentukan sistem.

Jalur yang ditentukan tidak valid, (misalnya, ada di drive yang tidak dipetakan).

path dalam format yang tidak valid.

Contoh

Contoh berikut membuka file untuk membaca dan menulis.

using namespace System;
using namespace System::IO;
using namespace System::Text;

int main()
{
   String^ path = "c:\\temp\\MyTest.txt";

   // Open the stream and write to it.
   {
      FileStream^ fs = File::OpenWrite( path );
      try
      {
         array<Byte>^info = (gcnew UTF8Encoding( true ))->
            GetBytes( "This is to test the OpenWrite method." );

         // Add some information to the file.
         fs->Write( info, 0, info->Length );
      }
      finally
      {
         if ( fs )
            delete (IDisposable^)fs;
      }
   }

   // Open the stream and read it back.
   {
      FileStream^ fs = File::OpenRead( path );
      try
      {
         array<Byte>^b = gcnew array<Byte>(1024);
         UTF8Encoding^ temp = gcnew UTF8Encoding( true );
         while ( fs->Read( b, 0, b->Length ) > 0 )
         {
            Console::WriteLine( temp->GetString( b ) );
         }
      }
      finally
      {
         if ( fs )
            delete(IDisposable^)fs;
      }
   }
}
using System;
using System.IO;
using System.Text;

class Test
{
    public static void Main()
    {
        string path = @"c:\temp\MyTest.txt";

        // Open the stream and write to it.
        using (FileStream fs = File.OpenWrite(path))
        {
            Byte[] info =
                new UTF8Encoding(true).GetBytes("This is to test the OpenWrite method.");

            // Add some information to the file.
            fs.Write(info, 0, info.Length);
        }

        // Open the stream and read it back.
        using (FileStream fs = File.OpenRead(path))
        {
            byte[] b = new byte[1024];
            UTF8Encoding temp = new UTF8Encoding(true);

            while (fs.Read(b,0,b.Length) > 0)
            {
                Console.WriteLine(temp.GetString(b));
            }
        }
    }
}
open System.IO
open System.Text

let path = @"c:\temp\MyTest.txt"

// Open the stream and write to it.
do
    use fs = File.OpenWrite path

    let info =
        UTF8Encoding(true)
            .GetBytes "This is to test the OpenWrite method."

    // Add some information to the file.
    fs.Write(info, 0, info.Length)

// Open the stream and read it back.
do
    use fs = File.OpenRead path
    let b = Array.zeroCreate 1024
    let temp = UTF8Encoding true

    while fs.Read(b, 0, b.Length) > 0 do
        printfn $"{temp.GetString b}"
Imports System.IO
Imports System.Text

Public Class Test
  Public Shared Sub Main()
    Dim path As String = "c:\temp\MyTest.txt"

    ' Open the stream and write to it.
    Using fs As FileStream = File.OpenWrite(path)
      Dim info As Byte() = _
       New UTF8Encoding(True).GetBytes("This is to test the OpenWrite method.")

      ' Add some information to the file.
      fs.Write(info, 0, info.Length)
    End Using

    'Open the stream and read it back.
    Using fs As FileStream = File.OpenRead(path)
      Dim b(1023) As Byte
      Dim temp As UTF8Encoding = New UTF8Encoding(True)

      Do While fs.Read(b, 0, b.Length) > 0
        Console.WriteLine(temp.GetString(b))
      Loop
    End Using

  End Sub
End Class

Keterangan

Metode ini setara dengan FileStream(String, FileMode, FileAccess, FileShare) kelebihan beban konstruktor dengan mode file diatur ke OpenOrCreate, akses diatur ke Write, dan mode berbagi diatur ke None.

Metode OpenWrite membuka file jika sudah ada untuk jalur file, atau membuat file baru jika tidak ada. Untuk file yang sudah ada, file tidak menambahkan teks baru ke teks yang sudah ada. Sebaliknya, ini menimpa karakter yang ada dengan karakter baru. Jika Anda menimpa string yang lebih panjang (seperti "Ini adalah pengujian metode OpenWrite") dengan string yang lebih pendek (seperti "Eksekusi kedua"), file akan berisi campuran string ("Runtest kedua dari metode OpenWrite").

Parameter path dapat menentukan informasi jalur relatif atau absolut. Informasi jalur relatif ditafsirkan relatif terhadap direktori kerja saat ini. Untuk mendapatkan direktori kerja saat ini, gunakan GetCurrentDirectory metode .

Yang dikembalikan FileStream tidak mendukung pembacaan. Untuk membuka file untuk membaca dan menulis, gunakan Open.

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

Berlaku untuk

Lihat juga