ファイルからのテキストの読み取り

テキスト ファイルからテキストを読み取る単純な方法を次のコード例に示します。

Imports System
Imports System.IO

Class Test
    Public Shared Sub Main()
        Try
            ' Create an instance of StreamReader to read from a file.
            Dim sr As StreamReader = New StreamReader("TestFile.txt")
            Dim line As String
            ' Read and display the lines from the file until the end 
            ' of the file is reached.
            Do
                line = sr.ReadLine()
                Console.WriteLine(Line)
            Loop Until line Is Nothing
            sr.Close()
        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

[C#]
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);
        }
    }
}

ファイル全体を読み取り、ファイルの末尾を検出したときにユーザーに通知するコードの例を次に示します。

Option Explicit On 
Option Strict On
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
        Dim sr As StreamReader = File.OpenText(FILE_NAME)
        Dim input As String
        input = sr.ReadLine()
        While Not input Is Nothing
            Console.WriteLine(input)
            input = sr.ReadLine()
        End While
        Console.WriteLine("The end of the stream has been reached.")
        sr.Close()
    End Sub
End Class

[C#]
using System;
using System.IO;
public class TextFromFile 
{
    private const string FILE_NAME = "MyFile.txt";
    public static void Main(String[] args) 
    {
        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())!=null) 
        {
            Console.WriteLine(input);
        }
        Console.WriteLine ("The end of the stream has been reached.");
        sr.Close();
    }
}

このコードでは、File.OpenText を呼び出すことによって、MyFile.txt を対象とする StreamReader が作成されています。StreamReader.ReadLine は、各行を 1 つの文字列として返します。読み取る文字がなくなると、それを知らせるメッセージが表示され、ストリームが閉じます。

参照

ディレクトリ一覧の作成 | 新しく作成したデータ ファイルの読み取りと書き込み | ログ ファイルのオープンと追加 | ファイルへのテキストの書き込み | 文字列からの文字の読み取り | 文字列への文字の書き込み | 基本のファイル I/O | StreamReader クラス | OpenText メソッド | ReadLine メソッド