Aller au contenu principal
Publié le

Fichiers (Lecture) en Go

Partager :

Introduction

La lecture de fichiers est l'une des opérations les plus courantes en programmation. Que ce soit pour des configurations, des données persistantes ou du traitement, lire des fichiers est fondamental. Go, avec son approche pratique et efficace, fournit plusieurs bibliothèques et fonctions pour faciliter cette tâche.

Lire le Fichier Entier

L'une des façons les plus simples de lire un fichier en Go est d'utiliser la fonction ioutil.ReadFile.

import (
  "fmt"
  "io/ioutil"
)

func main() {
  contenu, err := ioutil.ReadFile("exemple.txt")

  if err != nil {
    fmt.Println("Erreur:", err)
    return
  }

  fmt.Println(string(contenu))
}

Lecture avec le Package "os"

Pour avoir un contrôle plus granulaire sur la lecture, nous pouvons utiliser le package os :

import (
  "fmt"
  "os"
  "bufio"
)

func main() {
  fichier, err := os.Open("exemple.txt")

  if err != nil {
    fmt.Println("Erreur:", err)
    return
  }

  defer fichier.Close()

  scanner := bufio.NewScanner(fichier)

  for scanner.Scan() {
    fmt.Println(scanner.Text())
  }

  if err := scanner.Err(); err != nil {
    fmt.Println("Erreur de lecture:", err)
  }
}

Lire Ligne par Ligne

Pour les fichiers volumineux, lire ligne par ligne peut être plus efficace :

import (
  "fmt"
  "bufio"
  "os"
)

func lireFichierLigneParLigne(nomFichier string) error {
  fichier, err := os.Open(nomFichier)

  if err != nil {
    return err
  }

  defer fichier.Close()

  scanner := bufio.NewScanner(fichier)

  for scanner.Scan() {
    fmt.Println(scanner.Text())
  }

  return scanner.Err()
}

Conclusion

Lire des fichiers en Go est une tâche intuitive grâce à l'approche modulaire du langage et aux bibliothèques fournies. Quelle que soit la complexité de vos besoins, Go dispose des outils pour vous aider à travailler efficacement avec les fichiers.

Happy coding!