Freigeben über


File.AppendAllLines Methode

Definition

Fügt Zeilen an eine Datei an und schließt dann die Datei.

Überlädt

AppendAllLines(String, IEnumerable<String>)

Fügt Zeilen an eine Datei an und schließt dann die Datei. Wenn die angegebene Datei nicht vorhanden ist, erstellt diese Methode eine Datei, schreibt die angegebenen Zeilen in die Datei und schließt die Datei dann.

AppendAllLines(String, IEnumerable<String>, Encoding)

Fügt Zeilen unter Verwendung einer angegebenen Codierung an eine Datei an und schließt dann die Datei. Wenn die angegebene Datei nicht vorhanden ist, erstellt diese Methode eine Datei, schreibt die angegebenen Zeilen in die Datei und schließt die Datei dann.

AppendAllLines(String, IEnumerable<String>)

Quelle:
File.cs
Quelle:
File.cs
Quelle:
File.cs

Fügt Zeilen an eine Datei an und schließt dann die Datei. Wenn die angegebene Datei nicht vorhanden ist, erstellt diese Methode eine Datei, schreibt die angegebenen Zeilen in die Datei und schließt die Datei dann.

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

Parameter

path
String

Die Datei, an die Zeilen angefügt werden sollen. Wenn die Datei nicht bereits vorhanden ist, wird sie erstellt.

contents
IEnumerable<String>

Die Zeilen, die an die Datei angefügt werden sollen.

Ausnahmen

path ist eine leere Zeichenfolge, enthält nur Leerzeichen oder mindestens ein ungültiges Zeichen gemäß der Definition durch die GetInvalidPathChars()-Methode.

Entweder path oder contents ist null.

path ist ungültig (z. B. ist das Verzeichnis nicht vorhanden oder befindet sich auf einem nicht zugeordneten Laufwerk).

Die durch path angegebene Datei wurde nicht gefunden.

Beim Öffnen der Datei ist ein E/A-Fehler aufgetreten.

path überschreitet die vom System definierte maximale Länge.

path weist ein ungültiges Format auf.

Der Aufrufer ist nicht zum Schreiben in die Datei berechtigt.

path gibt eine schreibgeschützte Datei an.

- oder -

Dieser Vorgang wird von der aktuellen Plattform nicht unterstützt.

- oder -

path ist ein Verzeichnis.

Beispiele

Im folgenden Beispiel werden ausgewählte Zeilen aus einer Beispieldatendatei in eine Datei geschrieben und dann weitere Zeilen angefügt. Das Verzeichnis mit dem Namen temp auf Laufwerk C muss vorhanden sein, damit das Beispiel erfolgreich abgeschlossen werden kann.

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());
            }
        }
    }
}
open System
open System.IO

let dataPath = @"c:\temp\timestamps.txt"

let createSampleFile () =
    let timeStamp = DateTime(1700, 1, 1)

    use sw = new StreamWriter(dataPath)

    for i = 0 to 499 do
        let ts1 = timeStamp.AddYears i
        let ts2 = ts1.AddMonths i
        let ts3 = ts2.AddDays i
        ts3.ToLongDateString() |> sw.WriteLine

createSampleFile ()

let julyWeekends =
    File.ReadLines dataPath
    |> Seq.filter (fun line ->
        (line.StartsWith "Saturday"
         || line.StartsWith "Sunday")
        && line.Contains "July")

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

let marchMondays =
    File.ReadLines dataPath
    |> Seq.filter (fun line -> line.StartsWith "Monday" && line.Contains "March")

File.AppendAllLines(@"C:\temp\selectedDays.txt", marchMondays)
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

Die -Methode erstellt die Datei, wenn sie nicht vorhanden ist, aber keine neuen Verzeichnisse. Daher muss der Wert des path Parameters vorhandene Verzeichnisse enthalten.

Gilt für:

AppendAllLines(String, IEnumerable<String>, Encoding)

Quelle:
File.cs
Quelle:
File.cs
Quelle:
File.cs

Fügt Zeilen unter Verwendung einer angegebenen Codierung an eine Datei an und schließt dann die Datei. Wenn die angegebene Datei nicht vorhanden ist, erstellt diese Methode eine Datei, schreibt die angegebenen Zeilen in die Datei und schließt die Datei dann.

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

Parameter

path
String

Die Datei, an die Zeilen angefügt werden sollen. Wenn die Datei nicht bereits vorhanden ist, wird sie erstellt.

contents
IEnumerable<String>

Die Zeilen, die an die Datei angefügt werden sollen.

encoding
Encoding

Die zu verwendende Zeichencodierung.

Ausnahmen

path ist eine leere Zeichenfolge, enthält nur Leerzeichen oder mindestens ein ungültiges Zeichen gemäß der Definition durch die GetInvalidPathChars()-Methode.

Entweder path, contents oder encoding ist null.

path ist ungültig (z. B. ist das Verzeichnis nicht vorhanden oder befindet sich auf einem nicht zugeordneten Laufwerk).

Die durch path angegebene Datei wurde nicht gefunden.

Beim Öffnen der Datei ist ein E/A-Fehler aufgetreten.

path überschreitet die vom System definierte maximale Länge.

path weist ein ungültiges Format auf.

Der Aufrufer verfügt nicht über die erforderliche Berechtigung.

path gibt eine schreibgeschützte Datei an.

- oder -

Dieser Vorgang wird von der aktuellen Plattform nicht unterstützt.

- oder -

path ist ein Verzeichnis.

- oder -

Der Aufrufer verfügt nicht über die erforderliche Berechtigung.

Hinweise

Die -Methode erstellt die Datei, wenn sie nicht vorhanden ist, aber keine neuen Verzeichnisse. Daher muss der Wert des path Parameters vorhandene Verzeichnisse enthalten.

Mit dieser Methode können Sie eine Datei erstellen, die Folgendes enthält:

  • Die Ergebnisse einer LINQ to Objects Abfrage für die Zeilen einer Datei, wie sie mit der ReadLines -Methode abgerufen werden.

  • Der Inhalt einer Auflistung, die eine IEnumerable<T> von Zeichenfolgen implementiert.

Gilt für: