Gewusst wie: Schreiben in eine Textdatei (C#-Programmierhandbuch)How to: Write to a Text File (C# Programming Guide)

In diesen Beispielen werden verschiedene Möglichkeiten veranschaulicht, Text in eine Datei zu schreiben.These examples show various ways to write text to a file. In den ersten beiden Beispielen werden statische Hilfsmethoden für die System.IO.File-Klasse verwendet, um jedes Element von IEnumerable<string> und eine Zeichenfolge in eine Textdatei zu schreiben.The first two examples use static convenience methods on the System.IO.File class to write each element of any IEnumerable<string> and a string to a text file. In Beispiel 3 wird dargestellt, wie Text einer Datei hinzugefügt wird, wenn jede Zeile beim Schreiben in die Datei einzeln verarbeitet werden muss.Example 3 shows how to add text to a file when you have to process each line individually as you write to the file. Die Beispiele 1–3 überschreiben alle vorhandenen Inhalte in der Datei. In Beispiel 4 wird jedoch gezeigt, wie einer vorhandenen Datei Text angefügt wird.Examples 1-3 overwrite all existing content in the file, but example 4 shows you how to append text to an existing file.

In jedem Beispiel werden Zeichenfolgenliterale in Dateien geschrieben.These examples all write string literals to files. Wenn Sie Text formatieren wollen, der in eine Datei geschrieben wird, verwenden Sie die Format-Methode oder das C#-Feature Zeichenfolgeninterpolation.If you want to format text written to a file, use the Format method or C# string interpolation feature.

BeispielExample

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.  You do NOT need to call Flush() or Close().
        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.    You do NOT need to call Flush() or Close().
        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 flushes AND CLOSES the stream and calls 
        // IDisposable.Dispose on the stream object.
        // NOTE: do not use FileStream for text files because it writes bytes, but StreamWriter
        // encodes the output as text.
        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 flushes AND 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

Stabile ProgrammierungRobust Programming

Die folgenden Bedingungen können einen Ausnahmefehler verursachen:The following conditions may cause an exception:

  • Die Datei ist bereits vorhanden und ist schreibgeschützt.The file exists and is read-only.

  • Der Pfadname ist möglicherweise zu lang.The path name may be too long.

  • Der Datenträger ist möglicherweise voll.The disk may be full.

Siehe auchSee Also

C#-ProgrammierhandbuchC# Programming Guide
Das Dateisystem und die Registrierung (C#-Programmierhandbuch)File System and the Registry (C# Programming Guide)
Beispiel: Speichern einer Auflistung im AnwendungsspeicherSample: Save a collection to Application Storage