Leer en inglés

Compartir a través de


File.Open Método

Definición

Abre un FileStream en la ruta de acceso especificada.

Sobrecargas

Open(String, FileMode, FileAccess, FileShare)

Abre un FileStream en la ruta de acceso especificada con el modo especificado, con acceso de lectura, escritura o ambos, y la opción de uso compartido especificada.

Open(String, FileMode)

Abre un elemento FileStream en la ruta de acceso especificada con acceso de lectura y escritura y sin posibilidad de compartir.

Open(String, FileStreamOptions)

Inicializa una nueva instancia de la FileStream clase con la ruta de acceso especificada, el modo de creación, el permiso de lectura y escritura y uso compartido, el acceso a otros FileStreams puede tener en el mismo archivo, el tamaño del búfer, las opciones de archivo adicionales y el tamaño de asignación.

Open(String, FileMode, FileAccess)

Abre un elemento FileStream en la ruta de acceso especificada, con el modo y acceso especificados y sin posibilidad de compartir.

Open(String, FileMode, FileAccess, FileShare)

Source:
File.cs
Source:
File.cs
Source:
File.cs

Abre un FileStream en la ruta de acceso especificada con el modo especificado, con acceso de lectura, escritura o ambos, y la opción de uso compartido especificada.

C#
public static System.IO.FileStream Open (string path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share);

Parámetros

path
String

Archivo que se va a abrir.

mode
FileMode

Valor FileMode que especifica si se crea un archivo si no existe uno y determina si el contenido de los archivos existentes se conserva o se sobrescribe.

access
FileAccess

Valor FileAccess que especifica las operaciones que se pueden realizar en el archivo.

share
FileShare

Valor FileShare que especifica el tipo de acceso que otros subprocesos tienen en este archivo.

Devoluciones

FileStream en la ruta de acceso especificada con el modo especificado, con acceso de lectura, escritura o ambos, y la opción de uso compartido especificada.

Excepciones

Versiones de .NET Framework y .NET Core anteriores a 2.1: path es una cadena de longitud cero, solo contiene espacios en blanco o contiene uno o varios caracteres no válidos. Puede consultar los caracteres no válidos con el método GetInvalidPathChars().

O bien

access especificó Read y mode especificó Create, CreateNew, Truncate o Append.

path es null.

La ruta de acceso especificada, el nombre de archivo o ambos superan la longitud máxima definida por el sistema.

La ruta de acceso especificada no es válida (por ejemplo, está en una unidad no asignada).

Se produjo un error de E/S al abrir el archivo.

path especificó un archivo que es de solo lectura y access no es Read.

o bien

path especificó un directorio.

o bien

El llamador no dispone del permiso requerido.

o bien

mode es Create y el archivo especificado es un archivo oculto.

mode, access o share especificó un valor no válido.

No se encontró el archivo especificado en path.

path está en un formato no válido.

Ejemplos

En el ejemplo siguiente se abre un archivo con acceso de solo lectura y con el uso compartido de archivos no permitido.

C#
using System;
using System.IO;
using System.Text;

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

        // Create the file if it does not exist.
        if (!File.Exists(path))
        {
            // Create the file.
            using (FileStream fs = File.Create(path))
            {
                Byte[] info = new UTF8Encoding(true).GetBytes("This is some text in the file.");

                // Add some information to the file.
                fs.Write(info, 0, info.Length);
            }
        }

        // Open the stream and read it back.
        using (FileStream fs = File.Open(path, FileMode.Open, FileAccess.Read, FileShare.None))
        {
            byte[] b = new byte[1024];
            UTF8Encoding temp = new UTF8Encoding(true);

            while (fs.Read(b,0,b.Length) > 0)
            {
                Console.WriteLine(temp.GetString(b));
            }

            try
            {
                // Try to get another handle to the same file.
                using (FileStream fs2 = File.Open(path, FileMode.Open))
                {
                    // Do some task here.
                }
            }
            catch (Exception e)
            {
                Console.Write("Opening the file twice is disallowed.");
                Console.WriteLine(", as expected: {0}", e.ToString());
            }
        }
    }
}

Comentarios

El path parámetro puede especificar información de ruta de acceso relativa o absoluta. La información de ruta de acceso relativa se interpreta como relativa al directorio de trabajo actual. Para obtener el directorio de trabajo actual, consulte GetCurrentDirectory.

Para obtener una lista de tareas de E/S comunes, consulte Tareas de E/S comunes.

Consulte también

Se aplica a

.NET 9 y otras versiones
Producto Versiones
.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

Open(String, FileMode)

Source:
File.cs
Source:
File.cs
Source:
File.cs

Abre un elemento FileStream en la ruta de acceso especificada con acceso de lectura y escritura y sin posibilidad de compartir.

C#
public static System.IO.FileStream Open (string path, System.IO.FileMode mode);

Parámetros

path
String

Archivo que se va a abrir.

mode
FileMode

Valor FileMode que especifica si se crea un archivo si no existe uno y determina si el contenido de los archivos existentes se conserva o se sobrescribe.

Devoluciones

FileStream abierto en el modo y ruta de acceso especificados, con acceso de lectura y escritura y de uso no compartido.

Excepciones

Versiones de .NET Framework y .NET Core anteriores a 2.1: path es una cadena de longitud cero, solo contiene espacios en blanco o contiene uno o varios caracteres no válidos. Puede consultar los caracteres no válidos con el método GetInvalidPathChars().

path es null.

La ruta de acceso especificada, el nombre de archivo o ambos superan la longitud máxima definida por el sistema.

La ruta de acceso especificada no es válida (por ejemplo, está en una unidad no asignada).

Se produjo un error de E/S al abrir el archivo.

path especificó un archivo que es de solo lectura.

o bien

Esta operación no es compatible con la plataforma actual.

o bien

path especificó un directorio.

o bien

El llamador no dispone del permiso requerido.

o bien

mode es Create y el archivo especificado es un archivo oculto.

mode especifica un valor no válido.

No se encontró el archivo especificado en path.

path está en un formato no válido.

Ejemplos

En el ejemplo de código siguiente se crea un archivo temporal y se escribe texto en él. A continuación, se abre el archivo con T:System.IO.FileMode.Open; es decir, si el archivo aún no existía, no se crearía.

C#
using System;
using System.IO;
using System.Text;

class Test
{
    public static void Main()
    {
        // Create a temporary file, and put some data into it.
        string path = Path.GetTempFileName();
        using (FileStream fs = File.Open(path, FileMode.Open, FileAccess.Write, FileShare.None))
        {
            Byte[] info = new UTF8Encoding(true).GetBytes("This is some text in the file.");
            // Add some information to the file.
            fs.Write(info, 0, info.Length);
        }

        // Open the stream and read it back.
        using (FileStream fs = File.Open(path, FileMode.Open))
        {
            byte[] b = new byte[1024];
            UTF8Encoding temp = new UTF8Encoding(true);

            while (fs.Read(b,0,b.Length) > 0)
            {
                Console.WriteLine(temp.GetString(b));
            }
        }
    }
}

Comentarios

El path parámetro puede especificar información de ruta de acceso relativa o absoluta. La información de ruta de acceso relativa se interpreta como relativa al directorio de trabajo actual. Para obtener el directorio de trabajo actual, consulte GetCurrentDirectory.

Para obtener una lista de tareas de E/S comunes, consulte Tareas de E/S comunes.

Consulte también

Se aplica a

.NET 9 y otras versiones
Producto Versiones
.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

Open(String, FileStreamOptions)

Source:
File.cs
Source:
File.cs
Source:
File.cs

Inicializa una nueva instancia de la FileStream clase con la ruta de acceso especificada, el modo de creación, el permiso de lectura y escritura y uso compartido, el acceso a otros FileStreams puede tener en el mismo archivo, el tamaño del búfer, las opciones de archivo adicionales y el tamaño de asignación.

C#
public static System.IO.FileStream Open (string path, System.IO.FileStreamOptions options);

Parámetros

path
String

Ruta de acceso del archivo que se va a abrir.

options
FileStreamOptions

Objeto que describe parámetros opcionales FileStream que se van a usar.

Devoluciones

Instancia FileStream de que encapsula el archivo abierto.

Comentarios

FileStream(String, FileStreamOptions) para obtener información sobre las excepciones.

Se aplica a

.NET 9 y otras versiones
Producto Versiones
.NET 6, 7, 8, 9

Open(String, FileMode, FileAccess)

Source:
File.cs
Source:
File.cs
Source:
File.cs

Abre un elemento FileStream en la ruta de acceso especificada, con el modo y acceso especificados y sin posibilidad de compartir.

C#
public static System.IO.FileStream Open (string path, System.IO.FileMode mode, System.IO.FileAccess access);

Parámetros

path
String

Archivo que se va a abrir.

mode
FileMode

Valor FileMode que especifica si se crea un archivo si no existe uno y determina si el contenido de los archivos existentes se conserva o se sobrescribe.

access
FileAccess

Valor FileAccess que especifica las operaciones que se pueden realizar en el archivo.

Devoluciones

FileStream de uso no compartido que proporciona acceso al archivo especificado, con el modo y el acceso especificados.

Excepciones

Versiones de .NET Framework y .NET Core anteriores a 2.1: path es una cadena de longitud cero, solo contiene espacios en blanco o contiene uno o varios caracteres no válidos. Puede consultar los caracteres no válidos con el método GetInvalidPathChars().

O bien

access especificó Read y mode especificó Create, CreateNew, Truncate o Append.

path es null.

La ruta de acceso especificada, el nombre de archivo o ambos superan la longitud máxima definida por el sistema.

La ruta de acceso especificada no es válida (por ejemplo, está en una unidad no asignada).

Se produjo un error de E/S al abrir el archivo.

path especificó un archivo que es de solo lectura y access no es Read.

o bien

path especificó un directorio.

o bien

El llamador no dispone del permiso requerido.

o bien

mode es Create y el archivo especificado es un archivo oculto.

mode o access especificó un valor no válido.

No se encontró el archivo especificado en path.

path está en un formato no válido.

Ejemplos

En el ejemplo siguiente se abre un archivo con acceso de solo lectura.

C#
using System;
using System.IO;
using System.Text;

class Test
{
    public static void Main()
    {
        // This sample assumes that you have a folder named "c:\temp" on your computer.
        string filePath = @"c:\temp\MyTest.txt";

        // Delete the file if it exists.
        if (File.Exists(filePath))
        {
            File.Delete(filePath);
        }

        // Create the file.
        using (FileStream fs = File.Create(filePath))
        {
            Byte[] info = new UTF8Encoding(true).GetBytes("This is some text in the file.");
            // Add some information to the file.
            fs.Write(info, 0, info.Length);
        }

        // Open the stream and read it back.
        using (FileStream fs = File.Open(filePath, FileMode.Open, FileAccess.Read))
        {
            byte[] b = new byte[1024];
            UTF8Encoding temp = new UTF8Encoding(true);

            while (fs.Read(b,0,b.Length) > 0)
            {
                Console.WriteLine(temp.GetString(b));
            }

            try
            {
                // Try to write to the file.
                fs.Write(b,0,b.Length);
            }
            catch (Exception e)
            {
                Console.WriteLine("Writing was disallowed, as expected: {0}", e.ToString());
            }
        }
    }
}

Comentarios

El path parámetro puede especificar información de ruta de acceso relativa o absoluta. La información de ruta de acceso relativa se interpreta como relativa al directorio de trabajo actual. Para obtener el directorio de trabajo actual, consulte GetCurrentDirectory.

Consulte también

Se aplica a

.NET 9 y otras versiones
Producto Versiones
.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