Read in a number of characters from a previously opened file.
FileRead ( "filehandle/filename" [, count] )
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 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 - See FileOpen() for details.
If the UTF8 conversion to string cannot be performed, ANSI text format is assumed. This can occured on very large number of characters read.
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.
FileGetPos, FileOpen, FileReadLine, FileSetPos, FileWrite, FileWriteLine, String
#include <FileConstants.au3>
#include <MsgBoxConstants.au3>
#include <WinAPIFiles.au3>
Example()
Func Example()
; Create a constant variable in Local scope of the filepath that will be read/written to.
Local Const $sFilePath= _WinAPI_GetTempFileName (@TempDir )
; Create a temporary file to read data from.
If Not FileWrite ($sFilePath,"This is an example of using FileRead.")Then
MsgBox ($MB_SYSTEMMODAL,"","An error occurred whilst writing the temporary file.")
Return False
EndIf
; Open the file for reading and store the handle to a variable.
Local $hFileOpen= FileOpen ($sFilePath,$FO_READ)
If $hFileOpen= - 1Then
MsgBox ($MB_SYSTEMMODAL,"","An error occurred when reading the file.")
Return False
EndIf
; Read the contents of the file using the handle returned by FileOpen.
Local $sFileRead= FileRead ($hFileOpen)
; Close the handle returned by FileOpen.
FileClose ($hFileOpen)
; Display the contents of the file.
MsgBox ($MB_SYSTEMMODAL,"","Contents of the file:"&@CRLF &$sFileRead)
; Delete the temporary file.
FileDelete ($sFilePath)
EndFunc ;==>Example