Udostępnij za pośrednictwem


File.AppendAllLines Metoda

Definicja

Dołącza wiersze do pliku, a następnie zamyka plik.

Przeciążenia

AppendAllLines(String, IEnumerable<String>)

Dołącza wiersze do pliku, a następnie zamyka plik. Jeśli określony plik nie istnieje, ta metoda tworzy plik, zapisuje określone wiersze do pliku, a następnie zamyka plik.

AppendAllLines(String, IEnumerable<String>, Encoding)

Dołącza wiersze do pliku przy użyciu określonego kodowania, a następnie zamyka plik. Jeśli określony plik nie istnieje, ta metoda tworzy plik, zapisuje określone wiersze do pliku, a następnie zamyka plik.

AppendAllLines(String, IEnumerable<String>)

Źródło:
File.cs
Źródło:
File.cs
Źródło:
File.cs

Dołącza wiersze do pliku, a następnie zamyka plik. Jeśli określony plik nie istnieje, ta metoda tworzy plik, zapisuje określone wiersze do pliku, a następnie zamyka plik.

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

Plik, do których mają być dołączane wiersze. Plik zostanie utworzony, jeśli jeszcze nie istnieje.

contents
IEnumerable<String>

Wiersze, które mają być dołączane do pliku.

Wyjątki

path to ciąg o zerowej długości, zawiera tylko białe znaki lub zawiera więcej nieprawidłowych znaków zdefiniowanych przez metodę GetInvalidPathChars() .

Wartość path lub contents ma wartość null.

path jest nieprawidłowy (na przykład katalog nie istnieje lub znajduje się na niezamapowanym dysku).

Nie można odnaleźć pliku określonego przez path program .

Podczas otwierania pliku wystąpił błąd We/Wy.

path przekracza maksymalną długość zdefiniowaną przez system.

path jest w nieprawidłowym formacie.

Obiekt wywołujący nie ma uprawnień do zapisu w pliku.

path określa plik, który jest tylko do odczytu.

-lub-

Ta operacja nie jest obsługiwana na bieżącej platformie.

-lub-

path jest katalogiem.

Przykłady

Poniższy przykład zapisuje wybrane wiersze z przykładowego pliku danych do pliku, a następnie dołącza więcej wierszy. Katalog o nazwie temp na dysku C musi istnieć, aby przykład zakończył się pomyślnie.

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

Uwagi

Metoda tworzy plik, jeśli nie istnieje, ale nie tworzy nowych katalogów. W związku z tym wartość parametru path musi zawierać istniejące katalogi.

Dotyczy

AppendAllLines(String, IEnumerable<String>, Encoding)

Źródło:
File.cs
Źródło:
File.cs
Źródło:
File.cs

Dołącza wiersze do pliku przy użyciu określonego kodowania, a następnie zamyka plik. Jeśli określony plik nie istnieje, ta metoda tworzy plik, zapisuje określone wiersze do pliku, a następnie zamyka plik.

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

Plik, do których mają być dołączane wiersze. Plik zostanie utworzony, jeśli jeszcze nie istnieje.

contents
IEnumerable<String>

Wiersze, które mają być dołączane do pliku.

encoding
Encoding

Kodowanie znaków do użycia.

Wyjątki

path to ciąg o zerowej długości, zawiera tylko białe znaki lub zawiera więcej nieprawidłowych znaków zdefiniowanych przez metodę GetInvalidPathChars() .

Albo path, contentslub encoding ma wartość null.

path jest nieprawidłowy (na przykład katalog nie istnieje lub znajduje się na niezamapowanym dysku).

Nie można odnaleźć pliku określonego przez path program .

Podczas otwierania pliku wystąpił błąd We/Wy.

path przekracza maksymalną długość zdefiniowaną przez system.

path jest w nieprawidłowym formacie.

Obiekt wywołujący nie posiada wymaganych uprawnień.

path określa plik, który jest tylko do odczytu.

-lub-

Ta operacja nie jest obsługiwana na bieżącej platformie.

-lub-

path jest katalogiem.

-lub-

Obiekt wywołujący nie posiada wymaganych uprawnień.

Uwagi

Metoda tworzy plik, jeśli nie istnieje, ale nie tworzy nowych katalogów. W związku z tym wartość parametru path musi zawierać istniejące katalogi.

Za pomocą tej metody można utworzyć plik zawierający następujące elementy:

Dotyczy