File.OpenRead(String) Метод

Определение

Открывает для чтения существующий файл.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

Параметры

path
String

Файл, открываемый для чтения.The file to be opened for reading.

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

FileStream

Доступный только для чтения FileStream в заданном пути.A read-only FileStream on the specified path.

Исключения

path представляет собой строку нулевой длины, содержащую только пробелы или один или несколько недопустимых символов, заданных методом InvalidPathChars.path is a zero-length string, contains only white space, or contains one or more invalid characters as defined by InvalidPathChars.

path имеет значение null.path is null.

Указанный путь, имя файла или оба значения превышают максимальную длину, заданную в системе.The specified path, file name, or both exceed the system-defined maximum length.

Указан недопустимый путь (например, он ведет на несопоставленный диск).The specified path is invalid, (for example, it is on an unmapped drive).

Параметрpath определяет каталог.path specified a directory.

-или--or- У вызывающего объекта отсутствует необходимое разрешение.The caller does not have the required permission.

Файл, заданный параметром path, не найден.The file specified in path was not found.

Параметр path задан в недопустимом формате.path is in an invalid format.

При открытии файла произошла ошибка ввода-вывода.An I/O error occurred while opening the file.

Примеры

В следующем примере открывается файл для чтения.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

Комментарии

Этот метод эквивалентен FileStream(String, FileMode, FileAccess, FileShare) перегрузке конструктора со FileMode значением Open , FileAccess значением Read и FileShare значением 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.

pathПараметр может указывать сведения относительного или абсолютного пути.The path parameter is permitted to specify relative or absolute path information. Сведения об относительном пути интерпретируется как относительно текущего рабочего каталога.Relative path information is interpreted as relative to the current working directory. Сведения о получении текущего рабочего каталога см. в разделе GetCurrentDirectory .To obtain the current working directory, see GetCurrentDirectory.

Список общих задач ввода-вывода см. в разделе Общие задачи ввода-вывода.For a list of common I/O tasks, see Common I/O Tasks.

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