このエントリーをはてなブックマークに追加


テキストファイルを読み込む・ReadAllText,ReadAllLines

テキストファイルを一度に読み込んでメモリに保持するC#とVisual Basic(VB)のサンプルコードを紹介します。
うん十年前まではPCのメモリが少なかったので、一行ごとに読むサンプルコードが多かったと思います。
今では、PCメモリも潤沢にある場合が多いので、一気に読み込んだ方が効率的でしょうね。

参考サイト

関連記事

ReadAllText,ReadAllLines

この記事では、ReadAllText,ReadAllLinesの2つのメソッドを使ったサンプルコードを紹介します。
ReadAllTextは読み込んだテキストをString変数に格納します。
ReadAllLinesは読み込んだテキストをString配列変数に格納します。

サンプルコード

C#とVisual Basic(VB)のサンプルコードを以下に紹介します。

C#サンプルコード

using System;

class Program
{
    static void Main(string[] args)
    {
        System.Text.Encoding enc;
        String f = @"C:\Windows\System32\drivers\etc\hosts";

        if (!System.IO.File.Exists(f)) {
            Console.WriteLine(f + "not found!");
            return;
        }

        enc = System.Text.Encoding.GetEncoding(932); // Shift_JIS

        String alltext;
        String[] allLines;

        alltext = System.IO.File.ReadAllText(f);
        allLines = System.IO.File.ReadAllLines(f);

        Console.WriteLine("-- ReadAllText --");
        Console.WriteLine(alltext);
        Console.WriteLine("-- ReadAllText line:" + allLines.Length + " --");
        foreach (String l in allLines)
        {
            Console.WriteLine(l);
        }
    }
}

Visual Basic(VB)サンプルコード

Module Module1

    Sub Main()
        Dim enc As System.Text.Encoding
        Dim f As String = "C:\Windows\System32\drivers\etc\hosts"

        If Not (System.IO.File.Exists(f)) Then
            Console.WriteLine(f & "not found!")
            Exit Sub
        End If

        enc = System.Text.Encoding.GetEncoding(932) ' Shift_JIS

        Dim alltext As String
        Dim allLines As String()

        alltext = System.IO.File.ReadAllText(f)
        allLines = System.IO.File.ReadAllLines(f)

        Console.WriteLine("-- ReadAllText --")
        Console.WriteLine(alltext)
        Console.WriteLine("-- ReadAllText line:" & allLines.Count & " --")
        For Each l In allLines
            Console.WriteLine(l)
        Next
    End Sub

End Module

実行結果

ReadAllTextとReadAllLinesのサンプルコードを実行したときの出力になります。
本サンプルにより、以下の2つが確認できます。

  1. ReadAllTextはString変数に格納されている
  2. ReadAllLinesはStringの配列変数に格納されている
01.png

以上、ReadAllText,ReadAllLinesメソッドを使ったテキストファイルの読込サンプルコードの紹介でした。


添付ファイル: file01.png 299件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-12-08 (日) 16:11:20