Прочитать на английском

Поделиться через


File.OpenWrite(String) Метод

Определение

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

C#
public static System.IO.FileStream OpenWrite (string path);

Параметры

path
String

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

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

Объект с монопольным доступом FileStream в заданном пути с доступом Write.

Исключения

У вызывающего объекта отсутствует необходимое разрешение.

-или-

Параметр path указывает файл или каталог только для чтения.

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

path имеет значение null.

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

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

Параметр path задан в недопустимом формате.

Примеры

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

C#
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));
            }
        }
    }
}

Комментарии

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

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

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

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

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

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

Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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