Function Reference

FileReadLine

読み込みモードで開いたテキストファイルから1行を読み取ります。

FileReadLine ( "filehandle/filename" [, line] )

 

パラメータ

filehandle/filename FileOpen呼び出し時に返されるファイルのハンドル。またファイル名を表す文字列を使用することもできます。
line [オプション] 読み取る行数。テキストの最初の行は1(ゼロではない)、最後の行は-1です。

 

返し値

成功 テキストの行を返します。
特定 ファイルの最終端に到達した場合@errorを-1に設定します。
失敗 ファイルが読み込みモードで開かれていないなどのエラー時には@errorを1に設定します。

 

注意

読み取ったテキスト行を返す際、行末の改行文字(CHR(10)や@LF)は自動で取り除かれます。
読み取り行を指定しない場合、「次の」行が読み取られます。(新しく開いたファイルの「次の行」は最初の行です。)
filenameがファイルハンドル以外で与えられた場合、ファイルは関数呼び出し中に開閉されます。大きなテキストファイルを読み込む際にはファイルハンドルを使った場合よりも処理が遅くなります。
注意:ファイルハンドルとファイル名を混ぜて使用しないでください。例えばFileOpenでファイルを開き、この関数でファイル名を使用するといったことはしないでください。一連の処理ではファイルハンドルもしくはファイル名のどちらかだけを使用してください。

パフォーマンスの観点からいって、「line」パラメータをインクリメントして先頭から一行ずつ読み取るのは悪いアイディアです。毎回、AutoItはファイル先頭から指定された行まで再読み込みをおこなうことになるからです。
ANSIとUTF16/UTF8、どちらのテキストフォーマットでも読み込めます - AutoItは自動でどちらかを判定します。

 

関連

IniRead, FileOpen, FileRead, FileWrite, FileWriteLine, FileSetPos, FileGetPos

 


$file = FileOpen("test.txt", 0)

;ファイルが読み込みモードで開かれたかどうかチェック
If $file = -1 Then
    MsgBox(0, "Error", "Unable to open file.")
    Exit
EndIf

;EOFに達するまで1文字づつ読み込む。
While 1
    $line = FileReadLine($file)
    If @error = -1 Then ExitLoop
    MsgBox(0, "Line read:", $line)
Wend

FileClose($file)