File.WriteAllLines File.WriteAllLines File.WriteAllLines File.WriteAllLines Method

Definition

Erstellt eine neue Datei, schreibt mindestens eine Zeichenfolge in die Datei und schließt dann die Datei.Creates a new file, writes one or more strings to the file, and then closes the file.

Überlädt

WriteAllLines(String, String[], Encoding) WriteAllLines(String, String[], Encoding) WriteAllLines(String, String[], Encoding)

Erstellt eine neue Datei, schreibt das angegebene Zeichenfolgenarray unter Verwendung der angegebenen Codierung in die Datei und schließt dann die Datei.Creates a new file, writes the specified string array to the file by using the specified encoding, and then closes the file.

WriteAllLines(String, IEnumerable<String>, Encoding) WriteAllLines(String, IEnumerable<String>, Encoding) WriteAllLines(String, IEnumerable<String>, Encoding)

Erstellt eine neue Datei unter Verwendung der angegebenen Codierung, schreibt eine Auflistung von Zeichenfolgen in die Datei und schließt dann die Datei.Creates a new file by using the specified encoding, writes a collection of strings to the file, and then closes the file.

WriteAllLines(String, String[]) WriteAllLines(String, String[]) WriteAllLines(String, String[]) WriteAllLines(String, String[])

Erstellt eine neue Datei, schreibt das angegebene Zeichenfolgenarray in die Datei und schließt die Datei dann.Creates a new file, write the specified string array to the file, and then closes the file.

WriteAllLines(String, IEnumerable<String>) WriteAllLines(String, IEnumerable<String>) WriteAllLines(String, IEnumerable<String>) WriteAllLines(String, IEnumerable<String>)

Erstellt eine neue Datei, schreibt eine Auflistung von Zeichenfolgen in die Datei und schließt dann die Datei.Creates a new file, writes a collection of strings to the file, and then closes the file.

WriteAllLines(String, String[], Encoding) WriteAllLines(String, String[], Encoding) WriteAllLines(String, String[], Encoding)

Erstellt eine neue Datei, schreibt das angegebene Zeichenfolgenarray unter Verwendung der angegebenen Codierung in die Datei und schließt dann die Datei.Creates a new file, writes the specified string array to the file by using the specified encoding, and then closes the file.

public:
 static void WriteAllLines(System::String ^ path, cli::array <System::String ^> ^ contents, System::Text::Encoding ^ encoding);
public static void WriteAllLines (string path, string[] contents, System.Text.Encoding encoding);
static member WriteAllLines : string * string[] * System.Text.Encoding -> unit

Parameter

path
String String String String

Die Datei, in die geschrieben werden soll.The file to write to.

contents
String[]

Das Zeichenfolgenarray, das in die Datei geschrieben werden soll.The string array to write to the file.

encoding
Encoding Encoding Encoding Encoding

Ein Encoding-Objekt, das die Zeichencodierung darstellt, die auf das Zeichenfolgenarray angewendet wird.An Encoding object that represents the character encoding applied to the string array.

Ausnahmen

path ist eine leere Zeichenfolge, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen gemäß der Definition von InvalidPathChars.path is a zero-length string, contains only white space, or contains one or more invalid characters as defined by InvalidPathChars.

Entweder path oder contents ist null.Either path or contents is null.

Der angegebene Pfad und/oder Dateiname überschreiten die vom System definierte maximale Länge.The specified path, file name, or both exceed the system-defined maximum length.

Der angegebene Pfad ist ungültig (er befindet sich z. B. auf einem nicht zugeordneten Laufwerk).The specified path is invalid (for example, it is on an unmapped drive).

Beim Öffnen der Datei ist ein E/A-Fehler aufgetreten.An I/O error occurred while opening the file.

path hat eine schreibgeschützte Datei angegeben.path specified a file that is read-only.

- oder --or- path hat eine schreibgeschützte Datei angegeben.path specified a file that is hidden.

- oder --or- Dieser Vorgang wird von der aktuellen Plattform nicht unterstützt.This operation is not supported on the current platform.

- oder --or- path hat ein Verzeichnis angegeben.path specified a directory.

- oder --or- Der Aufrufer verfügt nicht über die erforderliche Berechtigung.The caller does not have the required permission.

path weist ein ungültiges Format auf.path is in an invalid format.

Der Aufrufer verfügt nicht über die erforderliche Berechtigung.The caller does not have the required permission.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie die WriteAllLines -Methode verwendet wird, um Text in eine Datei zu schreiben.The following code example demonstrates the use of the WriteAllLines method to write text to a file. In diesem Beispiel wird eine Datei erstellt, wenn Sie nicht bereits vorhanden ist und Text hinzugefügt wird.In this example a file is created, if it doesn't already exist, and text is added to it.

using System;
using System.IO;
using System.Text;

class Test
{
    public static void Main()
    {
        string path = @"c:\temp\MyTest.txt";

        // This text is added only once to the file.
        if (!File.Exists(path))
        {
            // Create a file to write to.
            string[] createText = { "Hello", "And", "Welcome" };
            File.WriteAllLines(path, createText, Encoding.UTF8);
        }

        // This text is always added, making the file longer over time
        // if it is not deleted.
        string appendText = "This is extra text" + Environment.NewLine;
        File.AppendAllText(path, appendText, Encoding.UTF8);

        // Open the file to read from.
        string[] readText = File.ReadAllLines(path, Encoding.UTF8);
        foreach (string s in readText)
        {
            Console.WriteLine(s);
        }
    }
}
Imports System
Imports System.IO
Imports System.Text

Public Class Test
    Public Shared Sub Main()
        Dim path As String = "c:\temp\MyTest.txt"
        Dim sw As StreamWriter

        ' This text is added only once to the file.
        If File.Exists(path) = False Then

            ' Create a file to write to.
            Dim createText() As String = {"Hello", "And", "Welcome"}
            File.WriteAllLines(path, createText, Encoding.UTF8)
        End If

        ' This text is always added, making the file longer over time
        ' if it is not deleted.
        Dim appendText As String = "This is extra text" + Environment.NewLine
        File.AppendAllText(path, appendText, Encoding.UTF8)

        ' Open the file to read from.
        Dim readText() As String = File.ReadAllLines(path, Encoding.UTF8)
        Dim s As String
        For Each s In readText
            Console.WriteLine(s)
        Next
    End Sub
End Class

Hinweise

Ist die Zieldatei bereits vorhanden, wird sie überschrieben.If the target file already exists, it is overwritten.

Bei einem Zeichen folgen Array und einem Dateipfad öffnet diese Methode die angegebene Datei, schreibt das Zeichen folgen Array unter Verwendung der angegebenen Codierung in die Datei und schließt dann die Datei.Given a string array and a file path, this method opens the specified file, writes the string array to the file using the specified encoding, and then closes the file.

Sicherheit

FileIOPermission
für den Zugriff zum Schreiben in eine Datei oder ein Verzeichnis.for access to write to a file or directory. Zugehörige Enumeration:WriteAssociated enumeration: Write

WriteAllLines(String, IEnumerable<String>, Encoding) WriteAllLines(String, IEnumerable<String>, Encoding) WriteAllLines(String, IEnumerable<String>, Encoding)

Erstellt eine neue Datei unter Verwendung der angegebenen Codierung, schreibt eine Auflistung von Zeichenfolgen in die Datei und schließt dann die Datei.Creates a new file by using the specified encoding, writes a collection of strings to the file, and then closes the file.

public:
 static void WriteAllLines(System::String ^ path, System::Collections::Generic::IEnumerable<System::String ^> ^ contents, System::Text::Encoding ^ encoding);
public static void WriteAllLines (string path, System.Collections.Generic.IEnumerable<string> contents, System.Text.Encoding encoding);
static member WriteAllLines : string * seq<string> * System.Text.Encoding -> unit

Parameter

path
String String String String

Die Datei, in die geschrieben werden soll.The file to write to.

contents
IEnumerable<String>

Die Zeilen, die in die Datei geschrieben werden sollen.The lines to write to the file.

encoding
Encoding Encoding Encoding Encoding

Die zu verwendende Zeichencodierung.The character encoding to use.

Ausnahmen

path ist eine leere Zeichenfolge, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen gemäß der Definition der GetInvalidPathChars()-Methode.path is a zero-length string, contains only white space, or contains one or more invalid characters defined by the GetInvalidPathChars() method.

Entweder path, contents oder encoding ist null.Either path, contents, or encoding is null.

path ist ungültig (er befindet sich z. B. auf einem nicht zugeordneten Laufwerk).path is invalid (for example, it is on an unmapped drive).

Beim Öffnen der Datei ist ein E/A-Fehler aufgetreten.An I/O error occurred while opening the file.

path überschreitet die vom System definierte maximale Länge.path exceeds the system-defined maximum length.

path weist ein ungültiges Format auf.path is in an invalid format.

Der Aufrufer verfügt nicht über die erforderliche Berechtigung.The caller does not have the required permission.

path hat eine schreibgeschützte Datei angegeben.path specified a file that is read-only.

- oder --or- path hat eine schreibgeschützte Datei angegeben.path specified a file that is hidden.

- oder --or- Dieser Vorgang wird von der aktuellen Plattform nicht unterstützt.This operation is not supported on the current platform.

- oder --or- path ist ein Verzeichnis.path is a directory.

- oder --or- Der Aufrufer verfügt nicht über die erforderliche Berechtigung.The caller does not have the required permission.

Hinweise

Ist die Zieldatei bereits vorhanden, wird sie überschrieben.If the target file already exists, it is overwritten.

Mit dieser Methode können Sie eine Datei erstellen, die Folgendes enthält:You can use this method to create a file that contains the following:

  • Die Ergebnisse einer LINQ to Objects Abfrage in den Zeilen einer Datei, wie Sie mithilfe der ReadLines -Methode abgerufen wurden.The results of a LINQ to Objects query on the lines of a file, as obtained by using the ReadLines method.

  • Der Inhalt einer Auflistung, die eine IEnumerable<T> von Zeichen folgen implementiert.The contents of a collection that implements an IEnumerable<T> of strings.

WriteAllLines(String, String[]) WriteAllLines(String, String[]) WriteAllLines(String, String[]) WriteAllLines(String, String[])

Erstellt eine neue Datei, schreibt das angegebene Zeichenfolgenarray in die Datei und schließt die Datei dann.Creates a new file, write the specified string array to the file, and then closes the file.

public:
 static void WriteAllLines(System::String ^ path, cli::array <System::String ^> ^ contents);
public static void WriteAllLines (string path, string[] contents);
static member WriteAllLines : string * string[] -> unit
Public Shared Sub WriteAllLines (path As String, contents As String())

Parameter

path
String String String String

Die Datei, in die geschrieben werden soll.The file to write to.

contents
String[]

Das Zeichenfolgenarray, das in die Datei geschrieben werden soll.The string array to write to the file.

Ausnahmen

path ist eine leere Zeichenfolge, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen gemäß der Definition von InvalidPathChars.path is a zero-length string, contains only white space, or contains one or more invalid characters as defined by InvalidPathChars.

Entweder path oder contents ist null.Either path or contents is null.

Der angegebene Pfad und/oder Dateiname überschreiten die vom System definierte maximale Länge.The specified path, file name, or both exceed the system-defined maximum length.

Der angegebene Pfad ist ungültig (er befindet sich z. B. auf einem nicht zugeordneten Laufwerk).The specified path is invalid (for example, it is on an unmapped drive).

Beim Öffnen der Datei ist ein E/A-Fehler aufgetreten.An I/O error occurred while opening the file.

path hat eine schreibgeschützte Datei angegeben.path specified a file that is read-only.

- oder --or- path hat eine schreibgeschützte Datei angegeben.path specified a file that is hidden.

- oder --or- Dieser Vorgang wird von der aktuellen Plattform nicht unterstützt.This operation is not supported on the current platform.

- oder --or- path hat ein Verzeichnis angegeben.path specified a directory.

- oder --or- Der Aufrufer verfügt nicht über die erforderliche Berechtigung.The caller does not have the required permission.

path weist ein ungültiges Format auf.path is in an invalid format.

Der Aufrufer verfügt nicht über die erforderliche Berechtigung.The caller does not have the required permission.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie die WriteAllLines -Methode verwendet wird, um Text in eine Datei zu schreiben.The following code example demonstrates the use of the WriteAllLines method to write text to a file. In diesem Beispiel wird eine Datei erstellt, wenn Sie nicht bereits vorhanden ist und Text hinzugefügt wird.In this example a file is created, if it doesn't already exist, and text is added to it.

using System;
using System.IO;
class Test
{
    public static void Main()
    {
        string path = @"c:\temp\MyTest.txt";

        // This text is added only once to the file.
        if (!File.Exists(path))
        {
            // Create a file to write to.
            string[] createText = { "Hello", "And", "Welcome" };
            File.WriteAllLines(path, createText);
        }

        // This text is always added, making the file longer over time
        // if it is not deleted.
        string appendText = "This is extra text" + Environment.NewLine;
        File.AppendAllText(path, appendText);

        // Open the file to read from.
        string[] readText = File.ReadAllLines(path);
        foreach (string s in readText)
        {
            Console.WriteLine(s);
        }
    }
}
Imports System
Imports System.IO

Public Class Test
    Public Shared Sub Main()
        Dim path As String = "c:\temp\MyTest.txt"
        Dim sw As StreamWriter

        ' This text is added only once to the file.
        If File.Exists(path) = False Then

            ' Create a file to write to.
            Dim createText() As String = {"Hello", "And", "Welcome"}
            File.WriteAllLines(path, createText)
        End If

        ' This text is always added, making the file longer over time
        ' if it is not deleted.
        Dim appendText As String = "This is extra text" + Environment.NewLine
        File.AppendAllText(path, appendText)

        ' Open the file to read from.
        Dim readText() As String = File.ReadAllLines(path)
        Dim s As String
        For Each s In readText
            Console.WriteLine(s)
        Next
    End Sub
End Class

Hinweise

Ist die Zieldatei bereits vorhanden, wird sie überschrieben.If the target file already exists, it is overwritten.

Das Standardverhalten WriteAllLines der-Methode besteht darin, Daten mithilfe der UTF-8-Codierung ohne Byte Reihenfolge-Markierung (BOM) zu schreiben.The default behavior of the WriteAllLines method is to write out data using UTF-8 encoding without a byte order mark (BOM). Wenn es erforderlich ist, einen UTF-8-Bezeichner (z. b. eine Byte Reihenfolge-Markierung) am Anfang einer WriteAllLines(String, String[], Encoding) Datei einzufügen, UTF8 verwenden Sie die-Methoden Überladung mit Codierung.If it is necessary to include a UTF-8 identifier, such as a byte order mark, at the beginning of a file, use the WriteAllLines(String, String[], Encoding) method overload with UTF8 encoding.

Bei einem Zeichen folgen Array und einem Dateipfad öffnet diese Methode die angegebene Datei, schreibt das Zeichen folgen Array in die Datei und schließt die Datei dann.Given a string array and a file path, this method opens the specified file, writes the string array to the file, and then closes the file.

Sicherheit

FileIOPermission
für den Zugriff zum Schreiben in eine Datei oder ein Verzeichnis.for access to write to a file or directory. Zugehörige Enumeration:WriteAssociated enumeration: Write

WriteAllLines(String, IEnumerable<String>) WriteAllLines(String, IEnumerable<String>) WriteAllLines(String, IEnumerable<String>) WriteAllLines(String, IEnumerable<String>)

Erstellt eine neue Datei, schreibt eine Auflistung von Zeichenfolgen in die Datei und schließt dann die Datei.Creates a new file, writes a collection of strings to the file, and then closes the file.

public:
 static void WriteAllLines(System::String ^ path, System::Collections::Generic::IEnumerable<System::String ^> ^ contents);
public static void WriteAllLines (string path, System.Collections.Generic.IEnumerable<string> contents);
static member WriteAllLines : string * seq<string> -> unit
Public Shared Sub WriteAllLines (path As String, contents As IEnumerable(Of String))

Parameter

path
String String String String

Die Datei, in die geschrieben werden soll.The file to write to.

contents
IEnumerable<String>

Die Zeilen, die in die Datei geschrieben werden sollen.The lines to write to the file.

Ausnahmen

path ist eine leere Zeichenfolge, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen gemäß der Definition der GetInvalidPathChars()-Methode.path is a zero-length string, contains only white space, or contains one or more invalid characters defined by the GetInvalidPathChars() method.

Entweder path oder contents ist null.Either path or contents is null.

path ist ungültig (er befindet sich z. B. auf einem nicht zugeordneten Laufwerk).path is invalid (for example, it is on an unmapped drive).

Beim Öffnen der Datei ist ein E/A-Fehler aufgetreten.An I/O error occurred while opening the file.

path überschreitet die vom System definierte maximale Länge.path exceeds the system-defined maximum length.

path weist ein ungültiges Format auf.path is in an invalid format.

Der Aufrufer verfügt nicht über die erforderliche Berechtigung.The caller does not have the required permission.

path hat eine schreibgeschützte Datei angegeben.path specified a file that is read-only.

- oder --or- path hat eine schreibgeschützte Datei angegeben.path specified a file that is hidden.

- oder --or- Dieser Vorgang wird von der aktuellen Plattform nicht unterstützt.This operation is not supported on the current platform.

- oder --or- path ist ein Verzeichnis.path is a directory.

- oder --or- Der Aufrufer verfügt nicht über die erforderliche Berechtigung.The caller does not have the required permission.

Beispiele

Im folgenden Beispiel werden ausgewählte Zeilen aus einer Beispiel Datendatei in eine Datei geschrieben.The following example writes selected lines from a sample data file to a file.

using System;
using System.IO;
using System.Linq;

class Program
{
	static string dataPath = @"c:\temp\timestamps.txt";

	static void Main(string[] args)
	{
		CreateSampleFile();

		var JulyWeekends = from line in File.ReadLines(dataPath)
						   where (line.StartsWith("Saturday") || 
						   line.StartsWith("Sunday")) & 
						   line.Contains("July")
						   select line;

		File.WriteAllLines(@"C:\temp\selectedDays.txt", JulyWeekends);

		var MarchMondays = from line in File.ReadLines(dataPath)
						   where line.StartsWith("Monday") && 
						   line.Contains("March")
						   select line;

		File.AppendAllLines(@"C:\temp\selectedDays.txt", MarchMondays);
	}

	static void CreateSampleFile()
	{
		DateTime TimeStamp = new DateTime(1700, 1, 1);

		using (StreamWriter sw = new StreamWriter(dataPath))
		{
			for (int i = 0; i < 500; i++)
			{
				DateTime TS1 = TimeStamp.AddYears(i);
				DateTime TS2 = TS1.AddMonths(i);
				DateTime TS3 = TS2.AddDays(i);
				sw.WriteLine(TS3.ToLongDateString());
			}
		}
	}
}
Imports System
Imports System.IO
Imports System.Linq

Class Program
    Shared dataPath As String = "c:\temp\timestamps.txt"

    Public Shared Sub Main(ByVal args As String())
        CreateSampleFile()

        Dim JulyWeekends = From line In File.ReadLines(dataPath) _
            Where (line.StartsWith("Saturday") OrElse _
            line.StartsWith("Sunday")) And line.Contains("July") _
            Select line

        File.WriteAllLines("C:\temp\selectedDays.txt", JulyWeekends)

        Dim MarchMondays = From line In File.ReadLines(dataPath) _
            Where line.StartsWith("Monday") AndAlso line.Contains("March") _
            Select line

        File.AppendAllLines("C:\temp\selectedDays.txt", MarchMondays)
    End Sub

    Private Shared Sub CreateSampleFile()
        Dim TimeStamp As New DateTime(1700, 1, 1)

        Using sw As New StreamWriter(dataPath)
            For i As Integer = 0 To 499
                Dim TS1 As DateTime = TimeStamp.AddYears(i)
                Dim TS2 As DateTime = TS1.AddMonths(i)
                Dim TS3 As DateTime = TS2.AddDays(i)

                sw.WriteLine(TS3.ToLongDateString())
            Next
        End Using
    End Sub
End Class

Hinweise

Das Standardverhalten WriteAllLines(String, IEnumerable<String>) der-Methode besteht darin, Daten mithilfe der UTF-8-Codierung ohne Byte Reihenfolge-Markierung (BOM) zu schreiben.The default behavior of the WriteAllLines(String, IEnumerable<String>) method is to write out data by using UTF-8 encoding without a byte order mark (BOM). Wenn es erforderlich ist, einen UTF-8-Bezeichner (z. b. eine Byte Reihenfolge-Markierung) am Anfang einer WriteAllLines(String, IEnumerable<String>, Encoding) Datei einzufügen, UTF8 verwenden Sie die-Methoden Überladung mit Codierung.If it is necessary to include a UTF-8 identifier, such as a byte order mark, at the beginning of a file, use the WriteAllLines(String, IEnumerable<String>, Encoding) method overload with UTF8 encoding.

Ist die Zieldatei bereits vorhanden, wird sie überschrieben.If the target file already exists, it is overwritten.

Sie können diese Methode verwenden, um den Inhalt für eine Auflistungs Klasse zu IEnumerable<T> erstellen, die einen im Konstruktor annimmt List<T>, HashSet<T>z. b SortedSet<T> ., oder eine-Klasse.You can use this method to create the contents for a collection class that takes an IEnumerable<T> in its constructor, such as a List<T>, HashSet<T>, or a SortedSet<T> class.

Gilt für: