基 础 函 数 参 考


FileReadLine

读取文本文件指定行的文本.

FileReadLine ( "文件句柄/文件名" [, 行号] )

参 数

文件句柄/文件名 由此前 FileOpen 函数返回的文件句柄. 也可以使用文件名字符串作为参数.
行号 [可选参数] 读取的行号. 文本文件的第一行为 1(不为 0), 最后一行为 -1.

返 回 值

成功: 返回指定行的文本.
专用: 设置 @error 为 -1, 已读到文件尾.
失败: 设置 @error 为 1, 文件没有以读取模式打开, 在或其它错误.

备 注

函数将返回读取指定行的文本内容, 行末尾的任何换行符 ( CHR(10) 或 @LF ) 自动剥离.
若没有指定行号, 则将自动读取"下一行". ("下一行"对新打开的文件而言是指第一行..)
如果指定的是文件名而不是文件句柄 - 文件将被打开, 并在函数调用期间关闭.
如果打开的文件较大, 读取会比使用文件句柄要慢得多.
注意: 不要混合使用文件句柄和文件名, 即不要在使用 FileOpen 打开文件后,
又在函数中使用文件名. 不能同时使用文件名和文件句柄!

从性能的角度来看, 一行行读取是一个坏主意, 此时"行号"参数是由一逐行递增.
这将迫使 AutoIt 从开始重读该文件, 直至达到指定的行.

ANSI 和 UTF16/UTF8 文本格式都可以读取 - AutoIt 会自动确定类型.

相 关 函 数

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

函 数 示 例


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

; 检查以只读打开的文件
If $file = -1 Then
    MsgBox(0, "错误", "无法打开文件.")
    Exit
EndIf

; 读入文本行直到文件结束(EOF)
While 1
    Local $line = FileReadLine($file)
    If @error = -1 Then ExitLoop
    MsgBox(0, "读取的行文本: ", $line)
Wend

FileClose($file)

provider with jb51.net (unicode)