Lire/écrire depuis/vers un fichier dans Go
-
Écrire dans un fichier à l’aide de
WriteString
dans Go -
Lire/écrire depuis/vers un fichier à l’aide de
io/ioutil
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>