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

Das folgende Codebeispiel veranschaulicht die Verwendung von der WriteAllLines Methode, 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 dieser nicht bereits vorhanden ist, und Text wird hinzugefügt.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.

Wenn ein Zeichenfolgen-Array und einen Dateipfad, diese Methode öffnet die angegebene Datei schreibt das Zeichenfolgenarray in die Datei mit der angegebenen Codierung 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 auf eine Datei oder Verzeichnis zu schreiben.for access to write to a file or directory. Zugeordnete 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.

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

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

Das folgende Codebeispiel veranschaulicht die Verwendung von der WriteAllLines Methode, 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 dieser nicht bereits vorhanden ist, und Text wird hinzugefügt.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 der WriteAllLines Methode besteht darin, Daten, die mit UTF-8-Codierung ohne eine bytereihenfolgemarkierung (BOM) geschrieben.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, um eine UTF-8-Bezeichner, z. B. eine Bytereihenfolge-Marke, am Anfang einer Datei enthalten ist, verwenden die WriteAllLines(String, String[], Encoding) methodenüberladung mit UTF8 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.

Wenn ein Zeichenfolgen-Array und einen Dateipfad, diese Methode öffnet die angegebene Datei, schreibt das Zeichenfolgenarray 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, and then closes the file.

Sicherheit

FileIOPermission
für den Zugriff auf eine Datei oder Verzeichnis zu schreiben.for access to write to a file or directory. Zugeordnete 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 folgende Beispiel werden ausgewählte Zeilen in eine Datei mit Beispieldaten 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 der WriteAllLines(String, IEnumerable<String>) Methode besteht darin, Daten mithilfe von UTF-8-Codierung ohne eine bytereihenfolgemarkierung (BOM) geschrieben.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, um eine UTF-8-Bezeichner, z. B. eine Bytereihenfolge-Marke, am Anfang einer Datei enthalten ist, verwenden die WriteAllLines(String, IEnumerable<String>, Encoding) methodenüberladung mit UTF8 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 Auflistungsklasse zu erstellen, akzeptiert eine IEnumerable<T> in seinem Konstruktor, wie z. B. eine List<T>, HashSet<T>, oder ein SortedSet<T> 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: