Partager via


Comment : écrire dans un fichier texte (Guide de programmation C#)

Ces exemples montrent différentes manières d'écrire du texte dans un fichier. Les deux premiers exemples appliquent des méthodes statiques à la classe File pour écrire un tableau de chaînes complet ou une chaîne complète dans un fichier texte. L'exemple 3 indique comment ajouter du texte à un fichier lorsque vous devez traiter individuellement chaque ligne avant d'écrire dans le fichier. Les exemples 1 à 3 remplacent tout contenu existant dans le fichier. L'exemple 4 montre comment ajouter du texte à un fichier existant.

Exemple

class WriteTextFile
{
    static void Main()
    {

        // These examples assume a "C:\Users\Public\TestFolder" folder on your machine.
        // You can modify the path if necessary. 

        // Example #1: Write an array of strings to a file. 
        // Create a string array that consists of three lines. 
        string[] lines = { "First line", "Second line", "Third line" };
        // WriteAllLines creates a file, writes a collection of strings to the file, 
        // and then closes the file.
        System.IO.File.WriteAllLines(@"C:\Users\Public\TestFolder\WriteLines.txt", lines);


        // Example #2: Write one string to a text file. 
        string text = "A class is the most powerful data type in C#. Like a structure, " +
                       "a class defines the data and behavior of the data type. ";
        // WriteAllText creates a file, writes the specified string to the file, 
        // and then closes the file.
        System.IO.File.WriteAllText(@"C:\Users\Public\TestFolder\WriteText.txt", text);

        // Example #3: Write only some strings in an array to a file. 
        // The using statement automatically closes the stream and calls  
        // IDisposable.Dispose on the stream object. 
        using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\Users\Public\TestFolder\WriteLines2.txt"))
        {
            foreach (string line in lines)
            {
                // If the line doesn't contain the word 'Second', write the line to the file. 
                if (!line.Contains("Second"))
                {
                    file.WriteLine(line);
                }
            }
        }

        // Example #4: Append new text to an existing file. 
        // The using statement automatically closes the stream and calls  
        // IDisposable.Dispose on the stream object. 
        using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\Users\Public\TestFolder\WriteLines2.txt", true))
        {
            file.WriteLine("Fourth line");
        }
    }
}
 //Output (to WriteLines.txt): 
 //   First line 
 //   Second line 
 //   Third line 

 //Output (to WriteText.txt): 
 //   A class is the most powerful data type in C#. Like a structure, a class defines the data and behavior of the data type. 

 //Output to WriteLines2.txt after Example #3: 
 //   First line 
 //   Third line 

 //Output to WriteLines2.txt after Example #4: 
 //   First line 
 //   Third line 
 //   Fourth line

Ces exemples écrivent tous des littéraux de chaîne dans les fichiers, mais il est plus probable que vous utilisiez la méthode Format, qui possède de nombreux contrôles pour écrire des types de valeurs différents justifiés à droite ou à gauche dans un champ, avec ou sans le remplissage, etc.

Compilation du code

Copiez le code dans une application console.

Remplacez "c:\testdir" par un nom de dossier réel sur votre ordinateur ou créez un dossier portant ce nom.

Programmation fiable

Les conditions ci-dessous peuvent générer une exception.

  • Le fichier existe déjà et est en lecture seule.

  • Le nom du chemin d'accès peut s'avérer trop long.

  • Le disque est peut-être plein.

Voir aussi

Concepts

Guide de programmation C#

Autres ressources

Système de fichiers et Registre (Guide de programmation C#)

Exemple : Enregistrer une collection sur un emplacement de stockage d'application