Functions > FileDirDisk >


FileRead

Lit un nombre donn� de caract�res/octets dans un fichier pr�c�demment ouvert.

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

Param�tres

filehandle/filename Le handle du fichier, retourn� par FileOpen(). Sinon, vous peuvent utiliser une chaine de caract�res contenant le nom du fichier comme premier param�tre.
count [optionnel] Le nombre de caract�res � lire. Par d�faut, le fichier entier.

Valeur de retour

Succ�s: Retourne le binaire/la chaine de caract�res lue. @extended est d�fini avec le nombre d'octets/de caract�res retourn�s.
�chec: D�finit @error <> 0.
@error: 1 = si le fichier n'est pas ouvert en mode lecture ou pour d'autres erreurs.
-1 = si la fin du fichier est atteinte

Remarques

Un nombre n�gatif ou non d�fini, lit le fichier entier � partir de la position courante pointeur de fichier.

Si un nom de fichier est donn� plut�t qu'un handle de fichier - le fichier sera ouvert et ferm� durant l'appel de la fonction - pour analyser des fichiers texte de grande taille ce sera beaucoup plus lent que d'utiliser des handles de fichiers.
Note: Ne pas m�langer le handle d'un fichier et son nom, c'est � dire, ne pas utiliser FileOpen() pour un fichier, puis utiliser un nom de fichier dans cette fonction. Utilisez soit le handle du fichier, soit le nom du fichier dans vos fonctions, mais pas les deux � la fois!

Les deux formats de texte ANSI et UTF16/UTF8 peuvent �tre lus - consultez FileOpen() pour plus de d�tails.

Un fichier peut �tre lu comme donn�es binaires (octets) en utilisant FileOpen() avec l'option binaire - dans ce cas le d�compte est en octets au lieu d'�tre en caract�res. Un nombre trop grand peut provoquer l'arr�t de AutoIt avec une erreur d'allocation m�moire.

En relation

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

Exemple

#include <FileConstants.au3>
#include <MsgBoxConstants.au3>
#include <WinAPIFiles.au3>

Example()

Func Example()
    ; Cr�e une constante locale avec le chemin du fichier qui sera lu/�crit.
    Local Const $sFilePath = _WinAPI_GetTempFileName(@TempDir)

    ; Cr�e un fichier temporaire pour lire les donn�es.
    If Not FileWrite($sFilePath, "Exemple d'utilisation de FileRead.") Then
        MsgBox($MB_SYSTEMMODAL, "", "Une erreur est survenue lors de l'�criture dans le fichier temporaire.")
        Return False
    EndIf

    ; Ouvre le fichier pour la lecture et stocke le handle dans une variable.
    Local $hFileOpen = FileOpen($sFilePath, $FO_READ)
    If $hFileOpen = -1 Then
        MsgBox($MB_SYSTEMMODAL, "", "Une erreur est survenue en lisant le fichier.")
        Return False
    EndIf

    ; Lit le contenu du fichier � l'aide du handle retourn�e par FileOpen.
    Local $sFileRead = FileRead($hFileOpen)

    ; Ferme le handle retourn� par FileOpen.
    FileClose($hFileOpen)

    ; Affiche le contenu du fichier.
    MsgBox($MB_SYSTEMMODAL, "", "Contenu du fichier:" & @CRLF & $sFileRead)

    ; Supprime le fichier temporaire.
    FileDelete($sFilePath)
EndFunc   ;==>Example