Maison  >  Article  >  développement back-end  >  Programme C# pour ajouter du texte au fichier existant

Programme C# pour ajouter du texte au fichier existant

WBOY
WBOYavant
2023-09-18 09:19:321174parcourir

将文本附加到现有文件的 C# 程序

Présentation

Ajouter fait référence à l'ajout d'informations à un document déjà écrit. Ici, nous allons apprendre à écrire un programme C# pour ajouter du texte à un fichier existant. Comme nous le savons tous, 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.

Uniquement pour les fichiers existants ?

Comme nous le savons tous, ajouter signifie généralement ajouter une information à un document déjà écrit. Mais que se passe-t-il si le fichier auquel nous essayons d’accéder n’existe pas ? Disons que nous recherchons un fichier appelé "madrid.txt" pour le joindre. Si le fichier existe dans le répertoire spécifié, le fichier est ajouté. Mais que se passe-t-il si le fichier « madrid.txt » n'existe pas ? Le programme créera ensuite un nouveau fichier appelé "madrid.txt" dans lequel vous pourrez ajouter vos informations. Ainsi, lorsque nous essayons d'ouvrir un fichier en mode ajout, si ce fichier particulier n'existe pas, un nouveau fichier vide est créé avec le même nom que le fichier que nous souhaitons ajouter.

1. Méthode File.AppendAllText(String, String)

La méthode File.AppendAllText() est une solution très courante au problème de l'ajout à un fichier existant. Cette méthode provient de la classe File. La syntaxe de cette méthode est la suivante.

public static void AppendAllText (string path, string? contents); 

Dans la syntaxe, la première chaîne contient le chemin d'accès au fichier que nous souhaitons joindre. Après cela, les informations que nous souhaitons ajouter au fichier sont les suivantes. Cela peut également générer quelques exceptions. Si le répertoire dans lequel nous essayons d'accéder au fichier n'existe pas, DirectoryNotFoundException sera levée. Une autre exception majeure levée est UnauthorizedAccessException. Cela se produit lorsque le programmeur tente d'accéder à un fichier en lecture seule ou que le chemin spécifié pointe vers un répertoire au lieu d'un fichier.

Lors de l'utilisation de cette méthode, le descripteur de fichier sera fermé quelle que soit l'exception levée.

Algorithme

Maintenant, nous allons discuter de l'algorithme de création d'un programme pour ajouter des informations à un fichier à l'aide de File.AppendAllText().

Étape 1 - Tout d'abord, nous créons une chaîne pour stocker l'adresse du fichier à joindre, puis fournissons l'adresse du fichier.

Étape 2 - Ensuite, nous utilisons FileAppendAllText() pour ouvrir le fichier en mode ajout et ajouter le texte spécifique au fichier. Si le fichier n'existe pas, un nouveau fichier est créé avec le nom et le texte est ajouté.

Étape 3 - Enfin, lisez le texte du fichier afin que nous puissions voir que le fichier est joint, puis le programme se termine.

Exemple

// A program to append the file
using System;
using System.IO;

public class Program {
   public static void Main() {
      string loca = @"D:\madrid.txt";

      // Adding the text to the madrid.txt file
      File.AppendAllText(loca, Environment.NewLine + "UCL");

      // Reading the text from the madrid.txt file
      string txtappd = File.ReadAllText(loca);
      Console.WriteLine(txtappd);
   }
}

Sortie

UCL

Ainsi, le chemin d'accès au fichier est fourni, puis la méthode ouvre le fichier spécifié, ajoute les informations souhaitées par le programmeur, puis ferme le fichier. Assez simple, mais que se passe-t-il si nous voulons copier l’intégralité du contenu d’un fichier dans le fichier souhaité ? Oui, cette méthode résout également notre problème de copie de fichiers. Il est maintenant temps de discuter des algorithmes.

Algorithme

Cet algorithme consiste à utiliser File.AppendAllText().

Étape 1 - Créez une chaîne pour stocker l'adresse du fichier source.

Étape 2 - Créez une autre chaîne pour stocker l'adresse du fichier cible.

Étape 3 - File.Readlines() est utilisé pour copier le fichier source dans une chaîne.

Étape 4 - Le fichier est ouvert en mode ajout par File.AppendAllText(). Ajoutez ensuite du texte.

Étape 5 - Quittez lorsque le programme est terminé.

Exemple

// A program to append the file
using System;
using System.Collections.Generic;
using System.IO;

public class Program {
   public static void Main() {
      string sttr1 = @"D:\trophies.txt";
      string sttr2 = @"D:\madrid.txt";

      // Copying all the text from the source file in a string and then adding to the destination file
      IEnumerable<string> inform = File.ReadLines(sttr1);
      File.AppendAllLines(sttr2, inform);
   }
} 

Regardons maintenant une autre méthode.

2. Méthode File.AppendText()

La classe SteamWriter est une classe très générale. Il fournit de nombreuses méthodes pour écrire des fichiers. WriteLine() ou Write() sont différentes méthodes qui peuvent être utilisées pour ajouter du texte à un flux.

public static System.IO.StreamWriter AppendText (string path); 

Vous pouvez créer une instance StreamWriter à l'aide de la méthode File.AppendAllText(), qui ajoute du texte à un fichier existant en codage UTF-8. Il crée également un nouveau fichier si le fichier spécifié n'existe pas.

Si le répertoire auquel nous essayons d'accéder au fichier n'existe pas, DirectoryNotFoundException sera levée. Une autre exception majeure levée est UnauthorizedAccessException. Cela se produit lorsque le programmeur tente d'accéder à un fichier en lecture seule ou que le chemin spécifié pointe vers un répertoire au lieu d'un fichier.

Algorithme

Maintenant, nous allons discuter de l'algorithme de création d'un programme pour ajouter des informations à un fichier à l'aide de File.AppendText().

Étape 1 - Tout d'abord, nous créons une chaîne pour stocker l'adresse du fichier à joindre, puis fournissons l'adresse du fichier.

Étape 2 - Maintenant, nous créons une instance de StreamReader. Cette étape ouvre le fichier en mode ajout et ajoute du texte au fichier. Nous utilisons File.AppendText() pour ajouter du texte. La méthode

StreamReader.Write() est utilisée pour l'ajout. Si l'utilisateur souhaite ajouter du texte, ajoutez un terminateur de ligne à la fin. Utilisez la méthode StreamReader.WriteLine().

Étape 3 - Quittez lorsque le programme est terminé.

示例

// A program to append the file
using System;
using System.IO;

public class Program {
   public static void Main() {
      string loca = @"D:\madrid.txt";

      // Adding the text to the specified file
      using (StreamWriter sw = File.AppendText(loca)) {
         sw.Write("UCL"); //use sw.WriteLine(If you want to add line termination)
      }

      // Read the text from the appended file
      string txtappd = File.ReadAllText(loca);
      Console.WriteLine(txtappd);
   }
}

输出

UCL

StreamWriter(String, Boolean) 构造函数重载版本也相当于 File.AppendText()。而对于布尔参数,我们使用 true。

StreanWriter 算法(字符串、布尔值)

现在,我们将讨论创建一个程序以使用 StreamWriter(String, Boolean) 将信息添加到文件的算法。

第 1 步 - 首先,我们创建一个字符串来存储要附加的文件的地址,然后提供文件的地址

第 2 步 现在,我们创建 StreamReader 的实例。此步骤以追加模式打开文件并向文件添加文本。我们使用新的 Streamwriter() 来添加信息。在这里,我们使用 StreamReader.Write() 方法进行追加。但如果我们需要附加文本,然后在末尾添加行终止符,那么我们可以使用 StreamReader.WriteLine() 方法。

第 3 步 最后,从文件中读取文本,以便我们可以看到文件已附加,然后程序退出。

示例

// A program to append the file
using System;
using System.IO;

public class Program {
   public static void Main() {
      string loca = @"D:\madrid.txt";

      // Adding the text to the specified file
      using (StreamWriter sw = new StreamWriter(loca, true)) {
         sw.Write("UCL"); //use sw.WriteLine(If you want to add line termination)
      }

      // Read the text from the appended file
      string txtappd = File.ReadAllText(loca);
      Console.WriteLine(txtappd);
   } 
}

输出

UCL

时间复杂度

由于在这两个进程中,我们都使用文件处理。在第一个算法中,我们使用 File.AppendAllText(),在第二个算法中,我们使用 File.AppendText(),它们都只是附加文件。他们正在获取新文本并将其添加到文件末尾。所以,这两种方法的时间复杂度都是O(1)。

结论

在本文中,我们讨论了将文本附加到现有文件的不同方法。首先我们讨论了是否需要以及是否只能对现有文件进行。然后我们讨论了追加File.AppendAllText()和File.AppendText()的方法。最后,我们讨论了算法和算法的代码。

我们希望本文能够帮助您增强有关 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