File.Open Método

Definición

Abre un FileStream en la ruta de acceso especificada.Opens a FileStream on the specified path.

Sobrecargas

Open(String, FileMode)

Abre un elemento FileStream en la ruta de acceso especificada con acceso de lectura y escritura y sin posibilidad de compartir.Opens a FileStream on the specified path with read/write access with no sharing.

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.Opens a FileStream on the specified path, with the specified mode and access with no sharing.

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.Opens a FileStream on the specified path, having the specified mode with read, write, or read/write access and the specified sharing option.

Open(String, FileMode)

Abre un elemento FileStream en la ruta de acceso especificada con acceso de lectura y escritura y sin posibilidad de compartir.Opens a FileStream on the specified path with read/write access with no sharing.

public:
 static System::IO::FileStream ^ Open(System::String ^ path, System::IO::FileMode mode);
public static System.IO.FileStream Open (string path, System.IO.FileMode mode);
static member Open : string * System.IO.FileMode -> System.IO.FileStream
Public Shared Function Open (path As String, mode As FileMode) As FileStream

Parámetros

path
String

Archivo que se va a abrir.The file to open.

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.A FileMode value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten.

Devoluciones

FileStream abierto en el modo y ruta de acceso especificados, con acceso de lectura y escritura y de uso no compartido.A FileStream opened in the specified mode and path, with read/write access and not shared.

Excepciones

path es una cadena de longitud cero que solo contiene espacios en blanco o uno o varios caracteres no válidos definidos por InvalidPathChars.path is a zero-length string, contains only white space, or contains one or more invalid characters as defined by InvalidPathChars.

path es null.path is null.

La ruta de acceso especificada, el nombre de archivo o ambos superan la longitud máxima definida por el sistema.The specified path, file name, or both exceed the system-defined maximum length.

La ruta de acceso especificada no es válida (por ejemplo, está en una unidad no asignada).The specified path is invalid, (for example, it is on an unmapped drive).

Se produjo un error de E/S al abrir el archivo.An I/O error occurred while opening the file.

path especificó un archivo que es de solo lectura.path specified a file that is read-only.

o bien-or- Esta operación no es compatible con la plataforma actual.This operation is not supported on the current platform.

o bien-or- path especificó un directorio.path specified a directory.

o bien-or- El llamador no dispone del permiso requerido.The caller does not have the required permission.

o bien-or- mode es Create y el archivo especificado es un archivo oculto.mode is Create and the specified file is a hidden file.

mode especifica un valor no válido.mode specified an invalid value.

No se encontró el archivo especificado en path.The file specified in path was not found.

path está en un formato no válido.path is in an invalid format.

Ejemplos

En el ejemplo de código siguiente se crea un archivo temporal y se escribe texto en él.The following code example creates a temporary file and writes some text to it. A continuación, el ejemplo abre el archivo mediante T:System.IO.FileMode.Open; es decir, si el archivo no existía todavía, no se crearía.The example then opens the file, using T:System.IO.FileMode.Open; that is, if the file did not already exist, it would not be created.

using namespace System;
using namespace System::IO;
using namespace System::Text;

int main()
{
   // Create a temporary file, and put some data into it.
   String^ path = Path::GetTempFileName();
   FileStream^ fs = File::Open( path, FileMode::Open, FileAccess::Write, FileShare::None );
   try
   {
      array<Byte>^info = (gcnew UTF8Encoding( true ))->GetBytes( "This is some text in the file." );
      
      // Add some information to the file.
      fs->Write( info, 0, info->Length );
   }
   finally
   {
      if ( fs )
            delete (IDisposable^)fs;
   }

   // Open the stream and read it back.
   fs = File::Open( path, FileMode::Open );
   try
   {
      array<Byte>^b = gcnew array<Byte>(1024);
      UTF8Encoding^ temp = gcnew UTF8Encoding( true );
      while ( fs->Read( b, 0, b->Length ) > 0 )
      {
         Console::WriteLine( temp->GetString( b ) );
      }
   }
   finally
   {
      if ( fs )
            delete (IDisposable^)fs;
   }
}
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));
            }
        }
    }
}
Imports System.IO
Imports System.Text

Public Class Test
  Public Shared Sub Main()
  
    ' Create a temporary file, and put some data into it. 
    Dim path1 As String = Path.GetTempFileName()
    Using fs As FileStream = File.Open(path1, FileMode.Open, FileAccess.Write, FileShare.None)
      Dim info As Byte() = New UTF8Encoding(True).GetBytes("This is some text in the file.")
      ' 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.Open(path1, FileMode.Open)
      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

Comentarios

El parámetro path puede especificar información de ruta de acceso relativa o absoluta.The path parameter is permitted to specify relative or absolute path information. La información de la ruta de acceso relativa se interpreta en relación con el directorio de trabajo actual.Relative path information is interpreted as relative to the current working directory. Para obtener el directorio de trabajo actual, vea GetCurrentDirectory.To obtain the current working directory, see GetCurrentDirectory.

Para obtener una lista de tareas de e/s comunes, consulte tareas comunes de e/s.For a list of common I/O tasks, see Common I/O Tasks.

Seguridad

FileIOPermission
para leer y escribir en el archivo especificado.for reading from and writing to the specified file. Enumeraciones asociadas: Read, WriteAssociated enumerations: Read, Write

Consulte tambié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.Opens a FileStream on the specified path, with the specified mode and access with no sharing.

public:
 static System::IO::FileStream ^ Open(System::String ^ path, System::IO::FileMode mode, System::IO::FileAccess access);
public static System.IO.FileStream Open (string path, System.IO.FileMode mode, System.IO.FileAccess access);
static member Open : string * System.IO.FileMode * System.IO.FileAccess -> System.IO.FileStream
Public Shared Function Open (path As String, mode As FileMode, access As FileAccess) As FileStream

Parámetros

path
String

Archivo que se va a abrir.The file to open.

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.A FileMode value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten.

access
FileAccess

Valor FileAccess que especifica las operaciones que se pueden realizar en el archivo.A FileAccess value that specifies the operations that can be performed on the file.

Devoluciones

FileStream de uso no compartido que proporciona acceso al archivo especificado, con el modo y el acceso especificados.An unshared FileStream that provides access to the specified file, with the specified mode and access.

Excepciones

path es una cadena de longitud cero que solo contiene espacios en blanco o uno o varios caracteres no válidos definidos por InvalidPathChars.path is a zero-length string, contains only white space, or contains one or more invalid characters as defined by InvalidPathChars.

O bien-or- access especificó Read y mode especificó Create, CreateNew, Truncateo Append.access specified Read and mode specified Create, CreateNew, Truncate, or Append.

path es null.path is null.

La ruta de acceso especificada, el nombre de archivo o ambos superan la longitud máxima definida por el sistema.The specified path, file name, or both exceed the system-defined maximum length.

La ruta de acceso especificada no es válida (por ejemplo, está en una unidad no asignada).The specified path is invalid, (for example, it is on an unmapped drive).

Se produjo un error de E/S al abrir el archivo.An I/O error occurred while opening the file.

path especificó un archivo que es de solo lectura y access no es Read.path specified a file that is read-only and access is not Read.

o bien-or- path especificó un directorio.path specified a directory.

o bien-or- El llamador no dispone del permiso requerido.The caller does not have the required permission.

o bien-or- mode es Create y el archivo especificado es un archivo oculto.mode is Create and the specified file is a hidden file.

mode o access especificó un valor no válido.mode or access specified an invalid value.

No se encontró el archivo especificado en path.The file specified in path was not found.

path está en un formato no válido.path is in an invalid format.

Ejemplos

En el ejemplo siguiente se abre un archivo con acceso de solo lectura.The following example opens a file with read-only access.


using namespace System;
using namespace System::IO;
using namespace System::Text;

int 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.
    FileStream^ fs = File::Create( filePath );
    try
    {
        array<Byte>^ info = ( gcnew UTF8Encoding( true ))->GetBytes( "This is some text in the file." );
        
        // Add some information to the file.
        fs->Write( info, 0, info->Length );
    }
    finally
    {
        if ( fs )
            delete (IDisposable^)fs;
    }

    // Open the stream and read it back.
    fs = File::Open( filePath, FileMode::Open, FileAccess::Read );
    try
    {
        array<Byte>^ b = gcnew array<Byte>(1024);
        UTF8Encoding^ temp = gcnew 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() );
        }
    }
    finally
    {
        if ( fs )
            delete (IDisposable^)fs;
    }
}
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());
            }
        }
    }
}
Imports System.IO
Imports System.Text

Public Class Test
  Public Shared Sub Main()
    ' This sample assumes that you have a folder named "c:\temp" on your computer. 
    Dim filePath As String = "c:\temp\MyTest.txt"

    ' Delete the file if it exists. 
    If File.Exists(filePath) Then
      File.Delete(filePath)
    End If

    ' Create the file.
    Using fs As FileStream = File.Create(filePath)
      Dim info As Byte() = New UTF8Encoding(True).GetBytes("This is some text in the file.")

      ' 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.Open(filePath, FileMode.Open, FileAccess.Read)
      Dim b(1023) As Byte
      Dim temp As UTF8Encoding = New UTF8Encoding(True)

      ' Display the information on the console. 
      Do While fs.Read(b, 0, b.Length) > 0
        Console.WriteLine(temp.GetString(b))
      Loop

      Try
        ' Try to write to the file
        fs.Write(b, 0, b.Length)
      Catch e As Exception
        Console.WriteLine("Writing was disallowed, as expected: " & e.ToString())
      End Try

    End Using

  End Sub
End Class

Comentarios

El parámetro path puede especificar información de ruta de acceso relativa o absoluta.The path parameter is permitted to specify relative or absolute path information. La información de la ruta de acceso relativa se interpreta en relación con el directorio de trabajo actual.Relative path information is interpreted as relative to the current working directory. Para obtener el directorio de trabajo actual, vea GetCurrentDirectory.To obtain the current working directory, see GetCurrentDirectory.

Seguridad

FileIOPermission
para leer y escribir en el archivo especificado.for reading from and writing to the specified file. Enumeraciones asociadas: Read, WriteAssociated enumerations: Read, Write

Consulte también:

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.Opens a FileStream on the specified path, having the specified mode with read, write, or read/write access and the specified sharing option.

public:
 static System::IO::FileStream ^ Open(System::String ^ path, System::IO::FileMode mode, System::IO::FileAccess access, System::IO::FileShare share);
public static System.IO.FileStream Open (string path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share);
static member Open : string * System.IO.FileMode * System.IO.FileAccess * System.IO.FileShare -> System.IO.FileStream
Public Shared Function Open (path As String, mode As FileMode, access As FileAccess, share As FileShare) As FileStream

Parámetros

path
String

Archivo que se va a abrir.The file to open.

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.A FileMode value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten.

access
FileAccess

Valor FileAccess que especifica las operaciones que se pueden realizar en el archivo.A FileAccess value that specifies the operations that can be performed on the file.

share
FileShare

Valor FileShare que especifica el tipo de acceso que otros subprocesos tienen en este archivo.A FileShare value specifying the type of access other threads have to the file.

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.A FileStream on the specified path, having the specified mode with read, write, or read/write access and the specified sharing option.

Excepciones

path es una cadena de longitud cero que solo contiene espacios en blanco o uno o varios caracteres no válidos definidos por InvalidPathChars.path is a zero-length string, contains only white space, or contains one or more invalid characters as defined by InvalidPathChars.

O bien-or- access especificó Read y mode especificó Create, CreateNew, Truncateo Append.access specified Read and mode specified Create, CreateNew, Truncate, or Append.

path es null.path is null.

La ruta de acceso especificada, el nombre de archivo o ambos superan la longitud máxima definida por el sistema.The specified path, file name, or both exceed the system-defined maximum length.

La ruta de acceso especificada no es válida (por ejemplo, está en una unidad no asignada).The specified path is invalid, (for example, it is on an unmapped drive).

Se produjo un error de E/S al abrir el archivo.An I/O error occurred while opening the file.

path especificó un archivo que es de solo lectura y access no es Read.path specified a file that is read-only and access is not Read.

o bien-or- path especificó un directorio.path specified a directory.

o bien-or- El llamador no dispone del permiso requerido.The caller does not have the required permission.

O bien-or- mode es Create y el archivo especificado es un archivo oculto.mode is Create and the specified file is a hidden file.

mode, access o share especificó un valor no válido.mode, access, or share specified an invalid value.

No se encontró el archivo especificado en path.The file specified in path was not found.

path está en un formato no válido.path is in an invalid format.

Ejemplos

En el ejemplo siguiente se abre un archivo con acceso de solo lectura y no se permite el uso compartido de archivos.The following example opens a file with read-only access and with file sharing disallowed.

using namespace System;
using namespace System::IO;
using namespace System::Text;

int main()
{
   String^ path = "c:\\temp\\MyTest.txt";
   
   // Create the file if it does not exist.
   if (  !File::Exists( path ) )
   {
      // Create the file.
      FileStream^ fs = File::Create( path );
      try
      {
         array<Byte>^info = (gcnew UTF8Encoding( true ))->GetBytes( "This is some text in the file." );
         
         // Add some information to the file.
         fs->Write( info, 0, info->Length );
      }
      finally
      {
         if ( fs )
                  delete (IDisposable^)fs;
      }
   }
   
   // Open the stream and read it back.
   FileStream^ fs = File::Open( path, FileMode::Open, FileAccess::Read, FileShare::None );
   try
   {
      array<Byte>^b = gcnew array<Byte>(1024);
      UTF8Encoding^ temp = gcnew 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.
         FileStream^ fs2 = File::Open( path, FileMode::Open );
         try
         {
            // Do some task here.
         }
         finally
         {
            if ( fs2 )
                        delete (IDisposable^)fs2;
         }
      }
      catch ( Exception^ e ) 
      {
         Console::Write( "Opening the file twice is disallowed." );
         Console::WriteLine( ", as expected: {0}", e );
      }
   }
   finally
   {
      if ( fs )
            delete (IDisposable^)fs;
   }
}
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());
            }
        }
    }
}
Imports System.IO
Imports System.Text

Public Class Test
  Public Shared Sub Main()
    Dim path As String = "c:\temp\MyTest.txt"

    ' Create the file if it does not exist. 
    If Not File.Exists(path) Then
      ' Create the file.
      Using fs As FileStream = File.Create(path)
        Dim info As Byte() = New UTF8Encoding(True).GetBytes("This is some text in the file.")

        ' Add some information to the file.
        fs.Write(info, 0, info.Length)
      End Using
    End If

    ' Open the stream and read it back.
    Using fs As FileStream = File.Open(path, FileMode.Open, FileAccess.Read, FileShare.None)
      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

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

    End Using

  End Sub
End Class

Comentarios

El parámetro path puede especificar información de ruta de acceso relativa o absoluta.The path parameter is permitted to specify relative or absolute path information. La información de la ruta de acceso relativa se interpreta en relación con el directorio de trabajo actual.Relative path information is interpreted as relative to the current working directory. Para obtener el directorio de trabajo actual, vea GetCurrentDirectory.To obtain the current working directory, see GetCurrentDirectory.

Para obtener una lista de tareas de e/s comunes, consulte tareas comunes de e/s.For a list of common I/O tasks, see Common I/O Tasks.

Seguridad

FileIOPermission
para leer y escribir en el archivo especificado.for reading from and writing to the specified file. Enumeraciones asociadas: Read, WriteAssociated enumerations: Read, Write

Consulte también:

Se aplica a