Maison > développement back-end > Golang > Comment rembobiner un pointeur Go *os.File après avoir écrit pour lire les données depuis le début ?

Comment rembobiner un pointeur Go *os.File après avoir écrit pour lire les données depuis le début ?

Mary-Kate Olsen
Libérer: 2024-12-10 21:47:25
original
466 Les gens l'ont consulté

How to Rewind a Go *os.File Pointer After Writing to Read Data From the Beginning?

Recherchez votre pointeur de fichier pour lire les données écrites dans le même fichier *os.File dans Go

Lorsque vous travaillez avec des fichiers dans Go à l'aide du pointeur *os.File, c'est Il est important de comprendre comment fonctionnent les pointeurs de fichiers. Le pointeur de fichier garde une trace de la position actuelle dans le fichier. Lors de l'écriture dans un fichier, le pointeur de fichier avance automatiquement jusqu'à la fin des données écrites.

Dans votre cas, vous souhaitez écrire puis lire des données à partir du même pointeur *os.File. Cependant, après la boucle d'écriture, le pointeur de fichier est positionné à la fin du fichier, ce qui vous oblige à ne rien lire lorsque vous essayez de lire depuis le début du fichier.

Pour résoudre ce problème, vous devez " rembobiner" le pointeur de fichier vers le début du fichier avant de tenter de le lire. Ceci peut être réalisé en utilisant la fonction Seek sur le pointeur *os.File.

Voici comment procéder :

_, err := f.Seek(0, 0)
if err != nil {
    fmt.Println("Error", err)
}
Copier après la connexion

Le code ci-dessus recherche le début du fichier, en passant les arguments 0 pour le décalage et 0 pour la position de départ (début du fichier). Désormais, vous pouvez lire le fichier sans rencontrer l'erreur io.EOF.

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