FileInfo.OpenRead Method
Creates a read-only FileStream.
[Visual Basic] Public Function OpenRead() As FileStream [C#] public FileStream OpenRead(); [C++] public: FileStream* OpenRead(); [JScript] public function OpenRead() : FileStream;
Return Value
A new read-only FileStream object.
Exceptions
| Exception Type | Condition |
|---|---|
| UnauthorizedAccessException | path is read-only or is a directory. |
| DirectoryNotFoundException | The specified path is invalid, such as being on an unmapped drive. |
| IOException | The file is already open. |
Remarks
For an example of using this method, see the Example section below. The following table lists examples of other typical or related I/O tasks.
| To do this... | See the example in this topic... |
|---|---|
| Create a text file. | Writing Text to a File |
| Write to a text file. | Writing Text to a File |
| Read from a text file. | Reading Text from a File |
| Append text to a file. | Opening and Appending to a Log File |
| Rename or move a file. | File.Move |
| Copy a file. | File.Copy |
| Get the size of a file. | FileInfo.Length |
| Get the attributes of a file. | File.GetAttributes |
| Set the attributes of a file. | File.SetAttributes |
| Determine if a file exists. | File.Exists |
| Read from a binary file. | Reading and Writing to a Newly Created Data File |
| Write to a binary file. | Reading and Writing to a Newly Created Data File |
| Create a directory. | CreateDirectory |
Example
[Visual Basic, C#, C++] The following example opens a file as read-only and reads from it.
[Visual Basic] Imports System 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 ' Delete the file if it exists. If fi.Exists = False Then 'Create the file. fs = fi.Create() 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) fs.Close() End If 'Open the stream and read it back. fs = fi.OpenRead() Dim b(1024) 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 [C#] 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); // Delete the file if it exists. if (!fi.Exists) { //Create the file. using (FileStream fs = fi.Create()) { 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 = 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)); } } } } [C++] #using <mscorlib.dll> using namespace System; using namespace System::IO; using namespace System::Text; int main() { String* path = S"c:\\temp\\MyTest.txt"; FileInfo* fi = new FileInfo(path); // Delete the file if it exists. if (!fi->Exists) { //Create the file. FileStream* fs = fi->Create(); try { Byte info[] = (new UTF8Encoding(true))->GetBytes(S"This is some text in the file."); //Add some information to the file. fs->Write(info, 0, info->Length); } __finally { if (fs) __try_cast<IDisposable*>(fs)->Dispose(); } } //Open the stream and read it back. FileStream* fs = fi->OpenRead(); try { Byte b[] = new Byte[1024]; UTF8Encoding* temp = new UTF8Encoding(true); while (fs->Read(b,0,b->Length) > 0) { Console::WriteLine(temp->GetString(b)); } } __finally { if (fs) __try_cast<IDisposable*>(fs)->Dispose(); } }
[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button
in the upper-left corner of the page.
Requirements
Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework
.NET Framework Security:
- FileIOPermission for reading files. Associated enumeration: FileIOPermissionAccess.Read
See Also
FileInfo Class | FileInfo Members | System.IO Namespace | Working with I/O | Reading Text from a File | Writing Text to a File | Basic File I/O | Reading and Writing to a Newly Created Data File