FileInfo.OpenText Method

Definition

Creates a StreamReader with UTF8 encoding that reads from an existing text file.

public:
 System::IO::StreamReader ^ OpenText();
public System.IO.StreamReader OpenText ();
member this.OpenText : unit -> System.IO.StreamReader
Public Function OpenText () As StreamReader

Returns

A new StreamReader with UTF8 encoding.

Exceptions

The caller does not have the required permission.

The file is not found.

Name is read-only or is a directory.

The specified path is invalid, such as being on an unmapped drive.

Examples

The following example reads text from a file.

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

public ref class OpenTextTest
{
public:
    static void Main()
    {
        String^ path = "c:\\MyTest.txt";

        FileInfo^ fi = gcnew FileInfo(path);

        // Check for existing file
        if (!fi->Exists)
        {
            // Create the file.
            FileStream^ fs = fi->Create();
            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);
            fs->Close();
        }

        // Open the stream and read it back.
        StreamReader^ sr = fi->OpenText();
        String^ s = "";
        while ((s = sr->ReadLine()) != nullptr)
        {
            Console::WriteLine(s);
        }
    }
};

int main()
{
    OpenTextTest::Main();
}
//This code produces output similar to the following; 
//results may vary based on the computer/file structure/etc.:
//
//This is some text in the file.
//
using System;
using System.IO;
using System.Text;

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

        FileInfo fi = new FileInfo(path);

        // Check for existing file
        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);
                fs.Close();
            }
        }

        // Open the stream and read it back.
        using (StreamReader sr = fi.OpenText())
        {
            string s = "";
            while ((s = sr.ReadLine()) != null)
            {
                Console.WriteLine(s);
            }
        }
    }
}
//This code produces output similar to the following;
//results may vary based on the computer/file structure/etc.:
//
//This is some text in the file.
//
Imports System.IO
Imports System.Text

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

        Dim fi As New FileInfo(path)

        ' Check for existing file
        If fi.Exists = false Then
            ' Create the file.
            Dim fs As FileStream = 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.
        Dim sr As StreamReader = fi.OpenText()
        Dim s As String = ""
        While sr.EndOfStream = false
            s = sr.ReadLine()
            Console.WriteLine(s)
        End While
        sr.Close()
    End Sub
End Class
'This code produces output similar to the following;
'results may vary based on the computer/file structure/etc.:
'
'This is some text in the file.
'

Applies to

See also