File.OpenRead(String) Método

Definición

Abre un archivo existente para lectura.Opens an existing file for reading.

public:
 static System::IO::FileStream ^ OpenRead(System::String ^ path);
public static System.IO.FileStream OpenRead (string path);
static member OpenRead : string -> System.IO.FileStream
Public Shared Function OpenRead (path As String) As FileStream

Parámetros

path
String

Archivo que se va a abrir para la lectura.The file to be opened for reading.

Devoluciones

FileStream de solo lectura en la ruta de acceso especificada.A read-only FileStream on the specified path.

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

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.

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.

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

Ejemplos

En el ejemplo siguiente se abre un archivo para leerlo.The following example opens a file for reading.

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

int main()
{
   String^ path = "c:\\temp\\MyTest.txt";
   
   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::OpenRead( path );
   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() 
    {
        string path = @"c:\temp\MyTest.txt";

        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.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));
            }
        }
    }
}
Imports System.IO
Imports System.Text

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

    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.OpenRead(path)
      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

Este método es equivalente a la sobrecarga del constructor FileStream(String, FileMode, FileAccess, FileShare) con un valor FileMode de Open, un valor FileAccess de Read y un valor FileShare de Read.This method is equivalent to the FileStream(String, FileMode, FileAccess, FileShare) constructor overload with a FileMode value of Open, a FileAccess value of Read and a FileShare value of Read.

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 desde el archivo especificado.for reading from the specified file. Enumeración asociada: ReadAssociated enumeration: Read

Se aplica a

Consulte también: