DelphiのTStreamReaderでテキストファイルを一行ずつ読み込む

DelphiのTStreamReaderでテキストファイルを一行ずつ読み込む例

procedure TForm1.LoadFromFile(FileName: String);
var
  reader: TStreamReader;
  line: String;
begin
  // ファイルの読み込み準備。文字コードはOSのデフォルト
  reader := TStreamReader.Create(FileName, TEncoding.Default);
  // ファイルの終端に到達したか
  while not reader.EndOfStream do
  begin
    // ファイルから一行読み込む
    line := reader.ReadLine;
    // 何らかの処理を行う
    DoSomething(line);
  end;
  reader.Free;
end;

いまどきReadln関数を使うのはなし。
TStringListも一行ずつ読み込むだけなら無駄が多い。

便利なクラスが用意されているのだから使いましょう。

コメント

  1. TStringListを使う場合と比べて、メモリ消費が少ない、処理が速いなどの利点があるということなのでしょうか?

    少量データを扱う場合ではTStringListでも変わらないのでしょうか?

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください