FileInfo.OpenWrite Método

Definición

Crea un valor de solo FileStreamescritura.

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

Devoluciones

Objeto no compartido FileStream de solo escritura para un archivo nuevo o existente.

Excepciones

La ruta de acceso especificada al crear una instancia del FileInfo objeto es de solo lectura o es un directorio.

La ruta de acceso especificada al crear una instancia del FileInfo objeto no es válida, como estar en una unidad no asignada.

Ejemplos

En el ejemplo siguiente se abre un archivo para escribir y, a continuación, se lee del archivo.

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.
'
'
'
'
'
'
'
'
'
'
'
'

Comentarios

El OpenWrite método abre un archivo si ya existe uno para la ruta de acceso del archivo o crea un nuevo archivo si no existe. Para un archivo existente, no anexa el nuevo texto al texto existente. En su lugar, sobrescribe los caracteres existentes con los nuevos caracteres. Si sobrescribe una cadena más larga (por ejemplo, "Se trata de una prueba del método OpenWrite") con una cadena más corta (como "Segunda ejecución"), el archivo contendrá una combinación de las cadenas ("Segunda prueba de ejecución del método OpenWrite").

Se aplica a