Maison > développement back-end > Golang > le corps du texte

Lisez le contenu du fichier à l'aide de la fonction bufio.NewReader dans la documentation du langage Go

WBOY
Libérer: 2023-11-03 20:07:46
original
983 Les gens l'ont consulté

Lisez le contenu du fichier à laide de la fonction bufio.NewReader dans la documentation du langage Go

Utilisez la fonction NewReader du package bufio du langage Go pour lire facilement le contenu du fichier. Voyons ensuite comment utiliser cette fonction pour lire des fichiers et effectuer certaines opérations de base.

Tout d'abord, nous devons importer le package bufio :

import (
    "bufio"
    "fmt"
    "os"
)
Copier après la connexion

La fonction NewReader crée un lecteur tamponné de type bufio.Reader, qui lira le contenu du fichier ligne par ligne et le mettra en cache en mémoire pour une lecture ultérieure.

On peut lire le fichier et l'imprimer ligne par ligne grâce au code suivant :

file, err := os.Open("test.txt")
if err != nil {
    panic(err)
}
defer file.Close()

reader := bufio.NewReader(file)
for {
    line, err := reader.ReadString('
')
    if err == io.EOF {
        break
    }
    if err != nil {
        panic(err)
    }
    fmt.Print(line)
}
Copier après la connexion

Dans le code, on ouvre d'abord un fichier nommé test.txt, et si une erreur survient, on quitte directement le programme. Ensuite, créez un lecteur tamponné via la fonction NewReader et associez-le au fichier.

Ensuite, dans une boucle infinie, on peut utiliser la fonction readString pour lire le contenu du fichier ligne par ligne et imprimer chaque ligne à l'écran. Si le caractère de fin de fichier EOF est rencontré, sortez de la boucle. Sinon, si une autre erreur est rencontrée, une exception est levée et le programme se termine.

De plus, nous pouvons également utiliser la fonction ReadBytes pour lire les octets du fichier et utiliser le package strings pour opérer sur ces octets. Le code suivant montre comment convertir le contenu lu en chaîne et y trouver la sous-chaîne :

file, err := os.Open("test.txt")
if err != nil {
    panic(err)
}
defer file.Close()

reader := bufio.NewReader(file)

content, err := ioutil.ReadAll(reader)
if err != nil {
    panic(err)
}

str := string(content)
if strings.Contains(str, "Hello World") {
    fmt.Println("Found!")
}
Copier après la connexion

Dans ce code, nous lisons d'abord le contenu du fichier entier via la fonction ReadAll et l'enregistrons sous forme de tranche d'octets. Nous convertissons ensuite la tranche d'octets en chaîne et utilisons la fonction Contains pour trouver la sous-chaîne "Hello World". S'il est trouvé, affichez « Trouvé ! », sinon ne faites rien.

En utilisant le package bufio et les fonctions correspondantes, nous pouvons facilement lire le contenu du fichier et y opérer. De plus, cette approche nous aide également à gérer des fichiers volumineux car elle ne lit pas l'intégralité du fichier en mémoire en même temps.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!