Maison  >  Article  >  développement back-end  >  Le programme C# lit le contenu du fichier ligne par ligne

Le programme C# lit le contenu du fichier ligne par ligne

WBOY
WBOYavant
2023-08-28 12:41:081217parcourir

C# 程序逐行读取文件内容

Présentation

Ici, nous allons apprendre à écrire un programme C# pour lire le contenu du fichier ligne par ligne. Il existe plusieurs façons de procéder. Nous les discuterons un par un.

La gestion des fichiers se fait en C#. La plupart du temps, les fichiers sont utilisés pour stocker des données. En termes simples, le traitement de fichiers ou la gestion de fichiers sont divers processus tels que la création de fichiers, la lecture de fichiers, l'écriture de fichiers, l'ajout de fichiers, etc. La lecture et l'écriture de fichiers sont deux des opérations les plus courantes dans le traitement de fichiers.

1. Utilisez la méthode File.ReadLines()

La première façon de lire le contenu d'un fichier ligne par ligne est d'utiliser la méthode File.ReadLines(). Cette méthode accepte le codage de caractères comme paramètre facultatif.

Eh bien, ce processus peut générer certaines exceptions, telles que les exceptions IO. Cette erreur est générée si une erreur d'E/S se produit ; une autre erreur, FileNotFoundException, est générée si le fichier qui tente d'être ouvert est introuvable.

Ce procédé présente également un inconvénient, car cette technique est assez inefficace lorsque vous traitez des fichiers volumineux. Cela renvoie un Enumerable à travers lequel nous pouvons commencer l'énumération avant de renvoyer la collection entière.

Algorithme

L'algorithme ci-dessous donnera le processus étape par étape de lecture du contenu du fichier ligne par ligne à l'aide de la méthode File.ReadLines().

L'algorithme discuté ci-dessous nous guidera dans la création du programme.

Étape 1 Créez une chaîne pour stocker le nom du chemin du fichier, rappelez-vous qu'il s'agit d'un chemin absolu.

Étape 2 Lors de la lecture du fichier ligne par ligne, utilisez IEumerable pour obtenir le résultat final.

Étape 3 Obtenez la chaîne de nouvelle ligne définie pour l'environnement en utilisant Environment.Newline. Puis le programme se termine.

Exemple

Voici le code de ce processus -

using System;
using System.Collections.Generic;
using System.IO;

public class Example {
   public static void Main() {
      string fileloc = @"D:\ttpt\locew.txt";

      IEnumerable<string> lines = File.ReadLines(fileloc);
      Console.WriteLine(String.Join(Environment.NewLine, lines));
   }
} 

Sortie

This is a file.
Hello from tutorials point.

Vous devez d’abord créer une variable de type chaîne qui contient l’adresse de l’emplacement du fichier. Après cela, lisez le fichier ligne par ligne dans le programme.

2. Utilisez la méthode File.ReadAllLines()

Une autre façon de lire le contenu d'un fichier ligne par ligne consiste à utiliser la méthode File.ReadAllLines(). Pour les fichiers big data, il ne faut pas utiliser ReadAllLines comme ReadAllLines, contrairement à ReadLines qui renvoie un Enumerable, ReadAllLines donne un tableau de chaînes contenant toutes les lignes du fichier et il faut attendre que l'intégralité du tableau de chaînes soit renvoyé avant de pouvoir accéder au tableau.

Cette méthode accepte le codage de caractères comme paramètre facultatif, similaire à ce que fait ReadLines. Ensuite, ce processus peut générer des exceptions, telles que l'exception IO. Cette erreur est générée si une erreur d'E/S se produit ; une autre erreur, FileNotFoundException, est générée si le fichier qui tente d'être ouvert est introuvable.

Algorithme

L'algorithme ci-dessous donnera le processus étape par étape de lecture du contenu du fichier ligne par ligne à l'aide de la méthode File.ReadAllLines().

L'algorithme discuté ci-dessous nous guide dans la création du programme.

Étape 1 Créez une chaîne pour stocker le nom du chemin du fichier, rappelez-vous qu'il s'agit d'un chemin absolu.

Étape 2 Ensuite, le programme utilise ReadAllLines pour ouvrir un fichier texte, lire toutes ses lignes, puis le terminer.

p>

Étape 3 Obtenez la chaîne de nouvelle ligne définie pour l'environnement en utilisant Environment.Newline. Puis le programme se termine.

Exemple

Voici le code de ce processus -

using System;
using System.IO;

public class Example {
   public static void Main() {
      string fileloc = @"D:\ttpt\locew.txt";
      string[] lines = File.ReadAllLines(fileloc);
      Console.WriteLine(String.Join(Environment.NewLine, lines));
   }
}

Sortie

This is a file.
Hello from tutorials point.

Vous devez d’abord créer une variable de type chaîne qui contient l’adresse de l’emplacement du fichier. Après cela, lisez le fichier ligne par ligne dans le programme. Ici, la différence est que les lignes sont lues dans une chaîne. Ils sont tous connectés lors de l'utilisation de string.join dans le programme.

3. Utilisez la méthode StreamReader.ReadLine()

Il existe également un moyen de lire un fichier ligne par ligne via la classe StreamReader. La méthode est StreamReader.ReadLine(). Cela s'exécutera jusqu'à la fin du fichier.

Cela fonctionne en lisant une ligne de texte du flux actuel et en la renvoyant sous forme de chaîne. Cela renvoie la ligne suivante du flux d'entrée, ou null si le flux d'entrée est terminé. De cette façon, il arrive à la fin du fichier.

Si une erreur d'E/S se produit, une exception d'E/S se produira également. Une autre exception est OutOfMemoryException, qui se produit lorsqu'il n'y a pas suffisamment de mémoire pour créer un tampon pour la chaîne renvoyée.

Algorithme

L'algorithme ci-dessous donnera le processus étape par étape de lecture du contenu du fichier ligne par ligne à l'aide de la méthode StreamReader.ReadLine().

下面讨论的算法将引导我们创建程序。

第 1 步  创建一个字符串来存储文件路径的名称,记住这是一个绝对路径。

第 2 步 −  创建一个新的读取来读取文件的内容。

第 3 步  while 循环运行到文件末尾。当它达到 null 时就确定结束。

第 4 步  最终,代码在读取文件内容后退出。

示例

以下是该过程的代码 -

using System;
using System.IO;

public class Example {
   public static void Main() {
      string fileloc = @"D:\ttpt\locew.txt";

      using (StreamReader read = new StreamReader(fileloc)) {
         string line;
         while ((line = read.ReadLine()) != null) {
            Console.WriteLine(line);
         }
      }
   }
}

输出

This is a file.
Hello from tutorials point.

在此方法中,也首先使用文件地址创建一个字符串。然后创建一个读取实例。它通过逐行读取内容到达空值,即文件末尾。

时间复杂度

从这里开始,我们正在逐行读取文件,但要一次性读取。无论使用哪种方法,即 File.ReadLines()、Files.ReadAllLines() 和 StreamReader.ReadLine()。他们所有人都在一次读取文件。所以,这里每个方法的时间复杂度都是O(1)。

结论

在本文中,我们广泛讨论了逐行读取文件内容的 C# 程序。我们了解了如何通过三种不同的方式来完成它。 File 类中的两个函数是 ReadLines() 和 ReadAllLines()。第三个来自 StreamReader 类。然后我们讨论了三种技术的代码和算法。我们希望本文能够帮助您增强有关 C# 的知识。

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer