File.OpenWrite(String) Metoda

Definice

Otevře existující soubor nebo vytvoří nový soubor pro zápis.

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

Parametry

path
String

Soubor, který se má otevřít pro zápis.

Návraty

Nesdílený FileStream objekt v zadané cestě s Write přístupem.

Výjimky

Volající nemá požadované oprávnění.

nebo

path zadal soubor nebo adresář jen pro čtení.

Verze .NET Framework a .NET Core starší než 2.1: path je řetězec nulové délky, obsahuje pouze prázdné znaky nebo obsahuje jeden nebo více neplatných znaků. Pomocí metody můžete zadat dotaz na neplatné znaky GetInvalidPathChars() .

path je null.

Zadaná cesta, název souboru nebo obojí překračují maximální délku definovanou systémem.

Zadaná cesta je neplatná (například je na nenamapované jednotce).

path je v neplatném formátu.

Příklady

Následující příklad otevře soubor pro čtení a zápis.

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

Poznámky

Tato metoda je ekvivalentem přetížení konstruktoru FileStream(String, FileMode, FileAccess, FileShare) s režimem souboru nastaveným na OpenOrCreate, přístup nastavený na Writea režim sdílení nastaven na None.

Metoda OpenWrite otevře soubor, pokud již existuje pro cestu k souboru, nebo vytvoří nový soubor, pokud neexistuje. U existujícího souboru nepřidá nový text k existujícímu textu. Místo toho přepíše stávající znaky novými znaky. Pokud přepíšete delší řetězec (například "This is a test of the OpenWrite method") kratším řetězcem (například "Second run"), soubor bude obsahovat kombinaci řetězců ("Second runtest of the OpenWrite method").

Parametr path může zadat relativní nebo absolutní informace o cestě. Relativní informace o cestě se interpretují jako relativní vzhledem k aktuálnímu pracovnímu adresáři. K získání aktuálního pracovního adresáře použijte metodu GetCurrentDirectory .

Vrácená funkce FileStream nepodporuje čtení. Chcete-li otevřít soubor pro čtení i zápis, použijte Open.

Seznam běžných vstupně-výstupních úloh najdete v tématu Běžné vstupně-výstupní úlohy.

Platí pro

Viz také