Maison > développement back-end > Golang > Comment lire les données d'un fichier temporaire dans Go After Writing ?

Comment lire les données d'un fichier temporaire dans Go After Writing ?

Patricia Arquette
Libérer: 2024-11-20 04:15:01
original
1074 Les gens l'ont consulté

How to Read Data from a Temporary File in Go After Writing?

Lecture des données d'un fichier temporaire dans Go après l'écriture

Dans Go, l'utilisation d'ioutil.TempFile pour créer un fichier temporaire permet d'écrire dans le fichier. Cependant, la lecture ultérieure des données du fichier peut rencontrer des difficultés, car le pointeur de fichier est déplacé vers la fin du fichier lors de l'écriture.

Pour résoudre ce problème, la solution consiste à réinitialiser le pointeur de fichier au début du fichier. après l'écriture, permettant la lecture des données. Ceci peut être réalisé en utilisant la méthode Seek du type *os.File. De plus, il est recommandé de fermer le fichier en utilisant defer pour garantir une libération correcte des ressources.

Voici un exemple qui démontre la bonne implémentation :

import (
    "bufio"
    "fmt"
    "io/ioutil"
    "log"
    "os"
    "path/filepath"
)

func main() {
    tmpFile, err := ioutil.TempFile("", fmt.Sprintf("%s-", filepath.Base(os.Args[0])))
    if err != nil {
        log.Fatal("Could not create temporary file", err)
    }
    defer tmpFile.Close()

    fmt.Println("Created temp file:", tmpFile.Name())

    fmt.Println("Writing some data to the temp file")
    if _, err := tmpFile.WriteString("test data"); err != nil {
        log.Fatal("Unable to write to temporary file", err)
    } else {
        fmt.Println("Data should have been written")
    }

    fmt.Println("Trying to read the temp file now")

    // Seek the pointer to the beginning
    tmpFile.Seek(0, 0)
    s := bufio.NewScanner(tmpFile)
    for s.Scan() {
        fmt.Println(s.Text())
    }
    if err := s.Err(); err != nil {
        log.Fatal("error reading temp file", err)
    }
}
Copier après la connexion

En incorporant ces modifications, le programme peut lire de manière fiable les données du fichier temporaire après y avoir écrit.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal