Gewusst wie: Schreiben in eine Textdatei (C#-Programmierhandbuch)

In diesen Beispielen werden verschiedene Möglichkeiten veranschaulicht, Text in eine Datei zu schreiben. In den ersten beiden Beispielen werden statische Methoden für die System.IO.File-Klasse verwendet, um entweder ein vollständiges Zeichenfolgenarray oder eine vollständige Zeichenfolge in eine Textdatei zu schreiben. In Beispiel 3 wird dargestellt, wie Text einer Datei hinzugefügt wird, wenn jede Zeile vor dem Schreiben in die Datei einzeln verarbeitet werden muss. In den Beispielen 1-3 wird der gesamte vorhandene Inhalt in der Datei überschrieben. In Beispiel 4 wird veranschaulicht, wie einer vorhandenen Datei Text angefügt wird.

Beispiel

    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"};
            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 structures, " +
                           "a class defines the data and behavior of the data type. ";
            System.IO.File.WriteAllText(@"C:\Users\Public\TestFolder\WriteText.txt", text);

            // Example #3: Write only some strings in an array to a file.
            using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\Users\Public\TestFolder\WriteLines2.txt"))
            {
                foreach (string line in lines)
                {
                    if (line.Contains("Second") == false)
                    {
                        file.WriteLine(line);
                    }
                }
            }

            // Example #4: Append new text to an existing file
            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 structures, 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
     */

Kompilieren des Codes

Kopieren Sie den Code in eine Konsolenanwendung.

Ersetzen Sie "c:\testdir" durch einen tatsächlichen Ordnernamen auf dem Computer, oder erstellen Sie einen Ordner mit diesem Namen.

Robuste Programmierung

Die folgenden Bedingungen können einen Ausnahmefehler verursachen:

  • Die Datei ist bereits vorhanden und ist schreibgeschützt.

  • Der Pfadname ist möglicherweise zu lang.

  • Der Datenträger ist möglicherweise voll.

Siehe auch

Konzepte

C#-Programmierhandbuch

Weitere Ressourcen

Das Dateisystem und die Registrierung (C#-Programmierhandbuch)