Function Reference


FileRead

Read in a number of characters from a previously opened text file.

FileRead ( "filehandle/filename" [, count] )

Parameters

filehandle/filename The handle of a file, as returned by a previous call to FileOpen. Alternatively you may use a string filename as the first parameter.
count [optional] The number of characters to read. See remarks.

Return Value

Success: Returns the binary/string read. @extended is set to the number of bytes/characters returned.
Special: Sets @error to -1 if end-of-file is reached.
Failure: Sets @error to 1 if file not opened in read mode or other error.

Remarks

A negative or not defined count, reads the whole file from the current position.

If a filename is given rather than a file handle - the file will be opened and closed during the function call - for parsing large text files this will be much slower than using filehandles.
Note: Do not mix filehandles and filenames, i.e., don't FileOpen a file and then use a filename in this function. Use either filehandles or filenames in your routines, not both!

Both ANSI and UTF16/UTF8 text formats can be read - AutoIt will automatically determine the type.

A file can be read as binary (byte) data by using FileOpen with the binary flag - in this case count is in bytes rather than characters. A count value that is too large can lead to AutoIt stopping with a memory allocation failure.

Related

FileOpen, FileReadLine, FileWrite, FileWriteLine, String, FileSetPos, FileGetPos

Example


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

; Check if file opened for reading OK
If $file = -1 Then
    MsgBox(0, "Error", "Unable to open file.")
    Exit
EndIf

; Read in 1 character at a time until the EOF is reached
While 1
    Local $chars = FileRead($file, 1)
    If @error = -1 Then ExitLoop
    MsgBox(0, "Char read:", $chars)
WEnd

FileClose($file)