FileInfo.OpenWrite Метод

Определение

Создает только запись FileStream.

public:
 System::IO::FileStream ^ OpenWrite();
public System.IO.FileStream OpenWrite();
member this.OpenWrite : unit -> System.IO.FileStream
Public Function OpenWrite () As FileStream

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

Объект без общего доступа FileStream только для записи для нового или существующего файла.

Исключения

Путь, указанный при создании экземпляра FileInfo объекта, доступен только для чтения или является каталогом.

Путь, указанный при создании экземпляра FileInfo объекта, недопустим, например на несопоставленном диске.

Примеры

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

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

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

        // Open the stream for writing.
        using (FileStream fs = fi.OpenWrite())
        {
            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 = fi.OpenRead())
        {
            byte[] b = new byte[1024];
            UTF8Encoding temp = new UTF8Encoding(true);

            while (fs.Read(b,0,b.Length) > 0)
            {
                Console.WriteLine(temp.GetString(b));
            }
        }
    }
}
//This code produces output similar to the following;
//This is to test the OpenWrite method.
Imports System.IO
Imports System.Text

Public Class Test
    Public Shared Sub Main()
        Dim path As String = "c:\Temp\MyTest.txt"
        Dim fi As FileInfo = New FileInfo(path)
        Dim fs As FileStream

        ' Open the stream for writing.
        fs = fi.OpenWrite()
        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)
        fs.Close()

        'Open the stream and read it back.
        fs = fi.OpenRead()
        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
        fs.Close()
    End Sub
End Class
'This code produces output similar to the following; 
'results may vary based on the computer/file structure/etc.:
'
'This is to test the OpenWrite method.
'
'
'
'
'
'
'
'
'
'
'
'

Комментарии

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

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