Maison > développement back-end > C++ > Comment puis-je lire efficacement des lignes spécifiques à partir d'un fichier texte volumineux sans utiliser de tableaux de chaînes ?

Comment puis-je lire efficacement des lignes spécifiques à partir d'un fichier texte volumineux sans utiliser de tableaux de chaînes ?

Susan Sarandon
Libérer: 2025-01-15 09:21:50
original
932 Les gens l'ont consulté

How Can I Efficiently Read Specific Lines from a Large Text File Without Using String Arrays?

Lecture sélective par ligne de fichiers texte volumineux

Question :

Comment lire et stocker des lignes spécifiques à partir d'un gros fichier texte sans utiliser de tableau de chaînes ?

Contexte :

Le fichier texte fourni a un format structuré : les 25 premières lignes contiennent l'information, suivies d'un nombre variable de lignes (le nombre est déterminé par la valeur de la ligne 17). L'objectif est d'extraire et de stocker les 25 premières lignes du fichier en tant que valeurs indépendantes et de stocker les lignes suivantes sous forme de tableau.

Solution :

Méthode .NET 4.0 :

Si vous utilisez .NET 4.0 ou supérieur, les méthodes ReadLines peuvent accéder directement aux lignes. Pour lire la ligne 15 :

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

Méthode générale :

Pour les versions antérieures de .NET ou si la lecture séquentielle des lignes ne peut être évitée :

<code class="language-csharp">string GetLine(string fileName, int line)
{
   using (var sr = new StreamReader(fileName))
   {
       for (int i = 1; i <= line; i++)
       {
           if (sr.ReadLine() == null) return null; // 处理文件结尾
           if (i == line) return sr.ReadLine();
       }
       return null;
   }
}</code>
Copier après la connexion

Cette méthode lit toutes les lignes avant la ligne cible.

Remarque :

Normalement, on ne peut pas supposer que les n premières lignes peuvent être supprimées sans relire et réécrire le fichier. Cependant, la solution proposée ici ne nécessite pas la suppression des lignes.

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