File.OpenWrite(String) Метод

Определение

Открывает существующий файл или создает новый файл для записи.

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

Параметры

path
String

Файл, который нужно открыть для записи.

Возвращаемое значение

Объект без общего доступа FileStream на указанном пути с Write доступом.

Исключения

Вызывающий объект не имеет требуемого разрешения.

–или–

path указан файл или каталог, доступный только для чтения.

Версии .NET Framework и .NET Core старше 2.1: path представляет собой строку нулевой длины, содержит только пробелы или содержит один или несколько недопустимых символов. Вы можете запросить недопустимые символы с помощью метода GetInvalidPathChars().

path равно null.

Указанный путь, имя файла или оба превышают определенную системой максимальную длину.

Указанный путь недопустим (например, он находится на несопоставленном диске).

path имеет недопустимый формат.

Примеры

В следующем примере открывается файл для чтения и записи.

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

Комментарии

Этот метод эквивалентен FileStream(String, FileMode, FileAccess, FileShare) перегрузке конструктора с заданным режимом OpenOrCreateфайлов, набором доступа Writeи режимом Noneобщего доступа.

Метод OpenWrite открывает файл, если он уже существует для пути к файлу, или создает новый файл, если он не существует. Для существующего файла он не добавляет новый текст к существующему тексту. Вместо этого он перезаписывает существующие символы новыми символами. Если перезаписать длинную строку (например, "Это тест метода OpenWrite") с более короткой строкой (например, "Второй запуск"), файл будет содержать сочетание строк ("Второй запуск метода OpenWrite").

Параметр может указывать относительные или абсолютные path сведения о пути. Относительные сведения о пути интерпретируются как относительные к текущему рабочему каталогу. Чтобы получить текущий рабочий каталог, используйте GetCurrentDirectory этот метод.

Возвращенный FileStream объект не поддерживает чтение. Чтобы открыть файл для чтения и записи, используйте Open.

Список распространенных задач ввода-вывода см. в разделе Распространенные задачи ввода-вывода.

Применяется к

См. также раздел