Functions > FileDirDisk >


FileWriteLine

Ajoute une ligne de texte à la fin d'un fichier texte précédemment ouvert.

FileWriteLine ( "filehandle/filename", "line" )

Paramètres

filehandle/filename Le handle d'un fichier, retourné par la fonction FileOpen(). Alternativement, le nom complet du fichier comme premier paramètre.
line La ligne de texte à écrire dans le fichier. Si la ligne ne se termine pas par @CR ou @LF, un saut de ligne DOS (@CRLF) sera automatiquement ajouté.

Valeur de retour

Succès: Retourne 1.
Échec: Retourne 0 si le fichier n'est pas ouvert en mode écriture, si le fichier est en lecture seule, ou si le fichier ne peut remplacer un fichier existant.

Remarques

Le fichier texte doit être ouvert en mode écriture ou la fonction FileWriteLine() échouera.

Si un chemin d'accès est donné plutôt qu'un handle, le fichier sera ouvert et fermé durant l'appel de fonction. Pour de gros fichiers texte, ce sera beaucoup plus lent que d'utiliser un handle. Cependant, le fichier sera créé s'il n'existe pas déjà.

Note: Ne pas mélanger handles et chemins d'accès, c'est à dire, ne pas utiliser FileOpen() pour un fichier et ensuite utiliser un chemin d'accès dans cette fonction. Utiliser soit les chemins d'accès, soit les handles dans vos fonctions, mais pas les deux.

Lors de l'écriture d'un texte, AutoIt écrit en utilisant la norme ANSI par défaut. Pour écrire en mode Unicode le fichier doit être ouvert avec FileOpen() et les flags correspondants.

Le texte à écrire ne peut pas contenir Chr(0) sinon l'écriture sera tronquée. Si FileWrite() est utilisée sur un fichier ouvert en mode binaire, elle doit être utilisé pour écrire des caractères.

En relation

FileFlush, FileGetPos, FileOpen, FileRead, FileReadLine, FileSetPos, FileWrite

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 écrire des données.
    If Not FileWrite($sFilePath, "Démarre l'exemple FileWriteLine, ligne 1. " & @CRLF) Then
        MsgBox($MB_SYSTEMMODAL, "", "Une erreur est survenue lors de l'écriture du fichier temporaire.")
        Return False
    EndIf

    ; Ouvre le fichier en écriture (ajoute à la fin du fichier) et stocke le handle dans une variable.
    Local $hFileOpen = FileOpen($sFilePath, $FO_APPEND)
    If $hFileOpen = -1 Then
        MsgBox($MB_SYSTEMMODAL, "", "Une erreur est survenue lors de la lecture du fichier.")
        Return False
    EndIf

    ; Écrit des données dans le fichier à l'aide du handle retournée par FileOpen.
    FileWriteLine($hFileOpen, "Ligne 2")
    FileWriteLine($hFileOpen, "Ceci est la ligne 3, nouvelle ligne ajoutée au dernier appel de FileWriteLine." & @CRLF)
    FileWriteLine($hFileOpen, "Line 4" & @CRLF)
    FileWriteLine($hFileOpen, "Line 5")

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

    ; Affiche le contenu du fichier en passant le chemin du fichier à FileRead au lieu du handle retourné par FileOpen.
    MsgBox($MB_SYSTEMMODAL, "", "Contenu du fichier:" & @CRLF & FileRead($sFilePath))

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