Lire/écrire depuis/vers un fichier dans Go

Jay Singh 30 janvier 2023
  1. Écrire dans un fichier à l’aide de WriteString dans Go
  2. Lire/écrire depuis/vers un fichier à l’aide de io/ioutil dans Go
Lire/écrire depuis/vers un fichier dans Go

Les données peuvent être enregistrées dans un fichier, ce qui leur donne une structure et permet leur conservation permanente ou temporaire, selon le support de stockage.

L’utilisation par programme d’un fichier comprend l’obtention de métadonnées, la création de nouveaux fichiers et la lecture et l’écriture de données vers et depuis un format de fichier dans la structure de données interne d’un programme.

La bibliothèque intégrée de Go offre un excellent support pour les activités liées aux fichiers telles que la création, la lecture/écriture, le changement de nom, le déplacement et la copie d’un fichier, et la collecte de ses informations de métadonnées, entre autres.

Ce didacticiel vous montrera comment lire/écrire depuis/vers un fichier dans Go.

Écrire dans un fichier à l’aide de WriteString dans Go

Dans cet exemple, l’action d’écriture de fichier implique l’écriture d’une chaîne dans un fichier. Il s’agit d’une procédure facile à suivre.

Le code suivant va générer un fichier nommé file.txt dans le répertoire du programme. Ensuite, le texte Hello, How are you? peut être trouvé dans le fichier après l’avoir ouvert avec n’importe quel éditeur de texte.

Jetons un coup d’œil au code source ci-dessous.

package main

import (
    "fmt"
    "os"
)

func main() {
    f, err := os.Create("file.txt")
    if err != nil {
    fmt.Println(err)
        return
    }
    l, err := f.WriteString("Hello, How are you?")
    if err != nil {
        fmt.Println(err)
        f.Close()
        return
    }
    fmt.Println(l, "bytes written successfully")
    err = f.Close()
    if err != nil {
        fmt.Println(err)
        return
    }
}

Production:

19 bytes written successfully

Lire/écrire depuis/vers un fichier à l’aide de io/ioutil dans Go

La méthode WriteString écrit dans un fichier, tandis que la fonction ReadFile lit le contenu d’un fichier texte dans le programme ci-dessous. Si fichier.txt n’existe pas, l’application le créera ou le tronquera s’il existe.

package main

import (
    "fmt"
    "io/ioutil"
    "log"
    "os"
)

func CreateFile() {
    file, err := os.Create("file.txt")
    if err != nil {
        log.Fatalf("failed creating file: %s", err)
    }
    defer file.Close()

    len, err := file.WriteString("Hello, How are you?.")

    if err != nil {
        log.Fatalf("failed writing to file: %s", err)
    }
    fmt.Printf("\nLength: %d bytes", len)
    fmt.Printf("\nFile Name: %s", file.Name())
}

func ReadFile() {
    data, err := ioutil.ReadFile("file.txt")
    if err != nil {
        log.Panicf("failed reading data from file: %s", err)
    }
    fmt.Printf("\nLength: %d bytes", len(data))
    fmt.Printf("\nData: %s", data)
    fmt.Printf("\nError: %v", err)
}

func main() {
    fmt.Printf("//// Create a file and Write the content ////\n")
    CreateFile()

    fmt.Printf("\n\n //// Read file //// \n")
    ReadFile()
}

Production:

//// Create a file and Write the content ////

Length: 20 bytes
File Name: file.txt

 //// Read file ////

Length: 20 bytes
Data: Hello, How are you?.
Error: <nil>

Article connexe - Go File