Поделиться через


Практическое руководство. Считывание текста из файла

В следующих примерах кода показаны способы чтения текста из текстового файла. Во втором примере программа выдает сообщение об обнаружении конца файла. Эту функциональную возможность можно получить с помощью метода ReadAllLines или метода ReadAllText.

Пример

Imports System
Imports System.IO

Class Test
    Public Shared Sub Main()
        Try
            ' Create an instance of StreamReader to read from a file.
            ' The using statement also closes the StreamReader.
            Using sr As New StreamReader("TestFile.txt")
                Dim line As String
                ' Read and display lines from the file until the end of
                ' the file is reached.
                Do
                    line = sr.ReadLine()
                    If Not (line Is Nothing) Then
                        Console.WriteLine(line)
                    End If
                Loop Until line Is Nothing
            End Using
        Catch e As Exception
            ' Let the user know what went wrong.
            Console.WriteLine("The file could not be read:")
            Console.WriteLine(e.Message)
        End Try
    End Sub
End Class
using System;
using System.IO;

class Test
{
    public static void Main()
    {
        try
        {
            // Create an instance of StreamReader to read from a file.
            // The using statement also closes the StreamReader.
            using (StreamReader sr = new StreamReader("TestFile.txt"))
            {
                String line;
                // Read and display lines from the file until the end of
                // the file is reached.
                while ((line = sr.ReadLine()) != null)
                {
                    Console.WriteLine(line);
                }
            }
        }
        catch (Exception e)
        {
            // Let the user know what went wrong.
            Console.WriteLine("The file could not be read:");
            Console.WriteLine(e.Message);
        }
    }
}
using namespace System;
using namespace System::IO;

ref class Test
{
public:
    static void Main()
    {
        try
        {
            // Create an instance of StreamReader to read from a file.
            // The using statement also closes the StreamReader.
            StreamReader^ sr = gcnew StreamReader("TestFile.txt");
            String^ line;
            // Read and display lines from the file until the end of
            // the file is reached.
            while ((line = sr->ReadLine()) != nullptr)
            {
                Console::WriteLine(line);
            }
            sr->Close();
        }
        catch (Exception^ e)
        {
            // Let the user know what went wrong.
            Console::WriteLine("The file could not be read:");
            Console::WriteLine(e->Message);
        }
    }
};

int main()
{
    Test::Main();
}
Imports System
Imports System.IO

Public Class TextFromFile
    Private Const FILE_NAME As String = "MyFile.txt"

    Public Shared Sub Main()
        If Not File.Exists(FILE_NAME) Then
            Console.WriteLine("{0} does not exist.", FILE_NAME)
            Return
        End If
        Using sr As StreamReader = File.OpenText(FILE_NAME)
            Dim input As String
            Do
                input = sr.ReadLine()
                If Not (input Is Nothing) Then
                    Console.WriteLine(input)
                End If
            Loop Until input Is Nothing
            Console.WriteLine ("The end of the stream has been reached.")
        End Using
    End Sub
End Class
using System;
using System.IO;

public class TextFromFile
{
    private const string FILE_NAME = "MyFile.txt";

    public static void Main()
    {
        if (!File.Exists(FILE_NAME))
        {
            Console.WriteLine("{0} does not exist.", FILE_NAME);
            return;
        }
        using (StreamReader sr = File.OpenText(FILE_NAME))
        {
            String input;
            while ((input = sr.ReadLine()) != null)
            {
                Console.WriteLine(input);
            }
            Console.WriteLine ("The end of the stream has been reached.");
        }
    }
}
using namespace System;
using namespace System::IO;

public ref class TextFromFile
{
private:
    static String^ FILE_NAME = "MyFile.txt";

public:
    static void Main()
    {
        if (!File::Exists(FILE_NAME))
        {
            Console::WriteLine("{0} does not exist.", FILE_NAME);
            return;
        }
        StreamReader^ sr = File::OpenText(FILE_NAME);
        String^ input;
        while ((input = sr->ReadLine()) != nullptr)
        {
            Console::WriteLine(input);
        }
        Console::WriteLine ("The end of the stream has been reached.");
        sr->Close();
    }
};

int main()
{
    TextFromFile::Main();
}

Отказоустойчивость

Этот код создает поток StreamReader, который указывает на файл MyFile.txt посредством вызова метода File.OpenText. Метод StreamReader.ReadLine возвращает каждую строку файла в виде строки. Когда знаки для чтения заканчиваются, выводится соответствующее информационное сообщение, после чего поток закрывается.

ПримечаниеПримечание

Пользователи Visual Basic могут также использовать методы и свойства, предоставляемые классом FileSystem для файлового ввода-вывода.

См. также

Задачи

Практическое руководство. Создание списка каталогов

Практическое руководство. Считывание из нового файла данных и запись в этот файл

Практическое руководство. Открытие файла журнала и добавление в него данных

Практическое руководство. Запись текста в файл

Практическое руководство. Считывание символов из строки

Практическое руководство. Запись символов в строку

Ссылки

StreamReader

File.OpenText

StreamReader.ReadLine

Основные понятия

Основы файлового ввода-вывода