File对象 [AHK_L 42+]
优质
小牛编辑
132浏览
2023-12-01
提供文件输入/输出的接口. FileOpen 返回文件类型的对象.
Read
从文件读取字符串并使文件指针向前移动.
String := File.Read([Characters])
Characters | 需读取的最大字符数. 如果省略, 则读取文件的剩余部分并作为单个字符串返回. 如果 File 对象创建于非搜寻设备(例如控制台缓冲区或管道)的句柄,省略此参数可能引起执行方法失败或仅返回当前可用的数据。 |
返回值 | 字符串. |
Write
写入字符串到文件并使文件指针向前移动.
File.Write(String)
String | 字符串. |
返回值 | 写入的字节数 (不是字符数). |
ReadLine
从文件中读取一行文本并使文件指针向前移动.
Line := File.ReadLine()
返回值 | 一行文本. 其中可能包括 `n , `r`n 或 `r , 取决于文件和打开文件时使用的 EOL 标志. |
WriteLine
写入字符串后面跟着 `n
或 `r`n
, 取决于打开文件时使用的标志. 使文件指针向前移动.
File.WriteLine([String])
String | 可选的字符串. |
返回值 | 写入的字节数 (不是字符数). |
ReadNum
从文件中读取指定类型的数据并使文件指针向前移动。
Num := File.ReadNumType()
NumType | 指定下列各项的其中一个直接作为函数名称的一部分: UInt, Int, Int64, Short, UShort, Char, UChar, Double 或 Float. |
返回值 | 成功时返回数字, 否则返回空字符串. |
WriteNum
写入指定类型的数据到文件并使文件指针向前移动。
File.WriteNumType(Num)
NumType | 指定下列各项的其中一个直接作为函数名称的一部分: UInt, Int, Int64, Short, UShort, Char, UChar, Double 或 Float. |
Num | 数字. |
返回值 | 写入的字节数. 例如, 写入成功时 WriteUInt 返回 4. |
RawRead
从文件读取原始的二进制数据到内存. 如果指定了变量, 则必要时会自动扩展.
File.RawRead(VarOrAddress, Bytes)
VarOrAddress | 用来保存复制出来的数据的变量或内存地址。用法类似于 NumGet. |
Bytes | 需读取的最大字节数. |
返回值 | 读取的字节数. |
RawWrite
写入原始的二进制数据到文件.
File.RawWrite(VarOrAddress, Bytes)
VarOrAddress | 包含数据的变量或内存中的数据地址。用法类似于 NumPut. |
Bytes | 需写入的字节数. |
返回值 | 写入的字节数. |
Seek
移动文件指针.
File.Seek(Distance [, Origin = 0]) File.Position := Distance File.Pos := Distance
Distance | 需移动的距离, 单位为字节. 较小的值更接近文件的开始处. |
Origin | 文件指针开始移动的起点. 必须为下列值的其中一个:
|
返回值 | 成功时为非零值, 否则为零. |
Tell
Pos := File.Tell() Pos := File.Position Pos := File.Pos
返回值 | 文件指针的当前位置, 文件开始处为 0. |
Length
获取或设置文件的大小.
FileSize := File.Length File.Length := NewSize
NewSize | 文件的新大小, 单位为字节. |
返回值 | 文件的大小, 单位为字节. |
此属性应该仅用于真实的文件。如果 File 对象创建于管道的句柄,那么它可能返回管道内部缓冲区中当前可能数据的数目,但不能保证一定如此。
AtEOF
IsAtEOF := File.AtEOF
返回值 | 当文件指针到达文件的末尾时为非零值, 否则为零. |
此属性应该仅用于真实的文件。如果 File 对象创建于非搜寻设备(例如控制台缓冲区或管道)的句柄,那么返回的值可能没有意义,因为这些设备逻辑上没有“文件末尾”。
Close
关闭文件, 把缓冲区的数据写入磁盘并释放共享锁定. 尽管当对象释放时文件会自动关闭, 不过建议尽快关闭文件.
File.Close()
没有参数或返回值.
Encoding
获取或设置此文件对象使用的编码.
Encoding := File.Encoding File.Encoding := Encoding
Encoding | FileEncoding 可接受格式的字符串. |
__Handle
File.__Handle
返回值 | 与 DllCall 一起使用的系统文件句柄. 请参阅 CreateFile. |
文件对象使用内部缓冲区读取或写入。如果数据已经被写入对象的内部缓冲区,则在返回句柄前会确保把数据写入磁盘。如果缓冲区中包含从文件读取的数据,则会把数据丢弃且文件指针的实际位置被重设为由 File.Pos
表示的逻辑位置。