Lecture d'une chaîne à partir d'un fichier texte dans Go
Lorsque vous travaillez avec des fichiers texte dans Go, il peut être souhaitable de lire une ligne de texte dans une chaîne. Bien que la bibliothèque standard fournisse des fonctions de bas niveau qui renvoient des tableaux d'octets, un moyen plus pratique consiste à utiliser des fonctions spécialisées qui gèrent directement cette tâche.
Solution
Ce qui suit Le code montre comment lire une seule ligne d'un fichier texte dans une chaîne :
import ( "bufio" "fmt" "os" ) // ReadLine reads a single line from a file. func ReadLine(r *bufio.Reader) (string, error) { var ( isPrefix bool = true err error line, ln []byte ) for isPrefix && err == nil { line, isPrefix, err = r.ReadLine() ln = append(ln, line...) } return string(ln), err } func main() { fi := `<path-to-your-file>` f, err := os.Open(fi) if err != nil { fmt.Println("error opening file= ", err) os.Exit(1) } defer f.Close() r := bufio.NewReader(f) s, e := ReadLine(r) for e == nil { fmt.Println(s) s, e = ReadLine(r) } }
Ce code ouvre le fichier spécifié, initialise un lecteur mis en mémoire tampon et appelle la fonction ReadLine pour lire chaque ligne du fichier. La chaîne résultante est imprimée sur la sortie standard.
Utilisation
Appelez la fonction ReadLine sur un lecteur de tampon pour obtenir le contenu d'une seule ligne sous forme de chaîne. La fonction ReadLine gère la lecture de plusieurs lignes si les caractères de nouvelle ligne ne sont pas présents dans l'entrée.
Cette approche élimine le besoin de gérer des tableaux d'octets et de les convertir manuellement en chaînes, offrant un moyen simple et efficace de lire des lignes orientées ligne. fichiers texte.
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!