Maison > développement back-end > C++ > Comment puis-je accéder efficacement à une ligne spécifique dans un fichier texte sans charger l'intégralité du fichier en mémoire ?

Comment puis-je accéder efficacement à une ligne spécifique dans un fichier texte sans charger l'intégralité du fichier en mémoire ?

DDD
Libérer: 2025-01-15 08:01:46
original
694 Les gens l'ont consulté

How Can I Efficiently Access a Specific Line in a Text File Without Loading the Entire File into Memory?

Lire efficacement les lignes spécifiées de fichiers texte pour éviter l'utilisation de la mémoire

Cet article présente plusieurs façons de lire efficacement des lignes spécifiées de fichiers texte sans charger l'intégralité du fichier en mémoire.

.NET 4.0 et supérieur

.NET 4.0 et versions ultérieures peuvent utiliser la méthode de saut de ligne :

<code>string line = File.ReadLines(FileName).Skip(14).Take(1).First();</code>
Copier après la connexion

Cette méthode lit directement la ligne 15 sans charger l'intégralité du fichier en mémoire.

.NET 4.0 ou inférieur

Avant .NET 4.0, vous deviez sauter ligne par ligne :

<code>string GetLine(string fileName, int line)
{
   using (var sr = new StreamReader(fileName)) {
       for (int i = 1; i < line; i++)
          sr.ReadLine();
       return sr.ReadLine();
   }
}</code>
Copier après la connexion

Cette méthode lit uniquement les lignes requises, réduisant ainsi la consommation de mémoire.

Remarques

Bien que l'approche de saut de ligne évite de stocker l'intégralité du fichier en mémoire, elle peut être moins efficace pour accéder aux lignes proches de la fin du fichier. De plus, la structure du fichier doit permettre de déterminer avec précision les numéros de ligne, sans s'appuyer sur des numéros de ligne qui peuvent varier.

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