Sdílet prostřednictvím


File.AppendAllLines Metoda

Definice

Připojí řádky k souboru a pak soubor zavře.

Přetížení

AppendAllLines(String, IEnumerable<String>)

Připojí řádky k souboru a pak soubor zavře. Pokud zadaný soubor neexistuje, tato metoda vytvoří soubor, zapíše zadané řádky do souboru a pak soubor zavře.

AppendAllLines(String, IEnumerable<String>, Encoding)

Připojí řádky k souboru pomocí zadaného kódování a pak soubor zavře. Pokud zadaný soubor neexistuje, tato metoda vytvoří soubor, zapíše zadané řádky do souboru a pak soubor zavře.

AppendAllLines(String, IEnumerable<String>)

Zdroj:
File.cs
Zdroj:
File.cs
Zdroj:
File.cs

Připojí řádky k souboru a pak soubor zavře. Pokud zadaný soubor neexistuje, tato metoda vytvoří soubor, zapíše zadané řádky do souboru a pak soubor zavře.

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))

Parametry

path
String

Soubor, ke který chcete připojit řádky. Soubor se vytvoří, pokud ještě neexistuje.

contents
IEnumerable<String>

Řádky, které se mají připojit k souboru.

Výjimky

path je řetězec nulové délky, obsahuje pouze prázdné znaky nebo obsahuje jeden více neplatných znaků definovaných metodou GetInvalidPathChars() .

Buď path nebo contents je null.

path je neplatný (například adresář neexistuje nebo je na nemapované jednotce).

Soubor zadaný nástrojem path nebyl nalezen.

Při otevírání souboru došlo ke vstupně-výstupní chybě.

path překračuje maximální délku definovanou systémem.

path je v neplatném formátu.

Volající nemá oprávnění k zápisu do souboru.

path určuje soubor, který je jen pro čtení.

-nebo-

Tato operace není na aktuální platformě podporovaná.

-nebo-

path je adresář.

Příklady

Následující příklad zapíše vybrané řádky z ukázkového datového souboru do souboru a pak připojí další řádky. Aby byl příklad úspěšně dokončen, musí existovat adresář s názvem temp na jednotce C.

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

Poznámky

Metoda vytvoří soubor, pokud neexistuje, ale nevytvoří nové adresáře. Proto hodnota parametru path musí obsahovat existující adresáře.

Platí pro

AppendAllLines(String, IEnumerable<String>, Encoding)

Zdroj:
File.cs
Zdroj:
File.cs
Zdroj:
File.cs

Připojí řádky k souboru pomocí zadaného kódování a pak soubor zavře. Pokud zadaný soubor neexistuje, tato metoda vytvoří soubor, zapíše zadané řádky do souboru a pak soubor zavře.

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)

Parametry

path
String

Soubor, ke který chcete připojit řádky. Soubor se vytvoří, pokud ještě neexistuje.

contents
IEnumerable<String>

Řádky, které se mají připojit k souboru.

encoding
Encoding

Kódování znaků, které se má použít.

Výjimky

path je řetězec nulové délky, obsahuje pouze prázdné znaky nebo obsahuje jeden více neplatných znaků definovaných metodou GetInvalidPathChars() .

Buď path, contentsnebo encoding je null.

path je neplatný (například adresář neexistuje nebo je na nemapované jednotce).

Soubor zadaný nástrojem path nebyl nalezen.

Při otevírání souboru došlo ke vstupně-výstupní chybě.

path překračuje maximální délku definovanou systémem.

path je v neplatném formátu.

Volající nemá požadované oprávnění.

path určuje soubor, který je jen pro čtení.

-nebo-

Tato operace není na aktuální platformě podporovaná.

-nebo-

path je adresář.

-nebo-

Volající nemá požadované oprávnění.

Poznámky

Metoda vytvoří soubor, pokud neexistuje, ale nevytvoří nové adresáře. Proto hodnota parametru path musí obsahovat existující adresáře.

Tuto metodu můžete použít k vytvoření souboru, který obsahuje následující:

Platí pro