File.AppendAllLines Yöntem

Tanım

Bir dosyaya satır ekler ve sonra dosyayı kapatır.

Aşırı Yüklemeler

AppendAllLines(String, IEnumerable<String>)

Bir dosyaya satır ekler ve sonra dosyayı kapatır. Belirtilen dosya yoksa, bu yöntem bir dosya oluşturur, belirtilen satırları dosyaya yazar ve sonra dosyayı kapatır.

AppendAllLines(String, IEnumerable<String>, Encoding)

Belirtilen kodlamayı kullanarak bir dosyaya satır ekler ve sonra dosyayı kapatır. Belirtilen dosya yoksa, bu yöntem bir dosya oluşturur, belirtilen satırları dosyaya yazar ve sonra dosyayı kapatır.

AppendAllLines(String, IEnumerable<String>)

Kaynak:
File.cs
Kaynak:
File.cs
Kaynak:
File.cs

Bir dosyaya satır ekler ve sonra dosyayı kapatır. Belirtilen dosya yoksa, bu yöntem bir dosya oluşturur, belirtilen satırları dosyaya yazar ve sonra dosyayı kapatır.

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

Parametreler

path
String

Satırların ekli olduğu dosya. Dosya henüz yoksa oluşturulur.

contents
IEnumerable<String>

Dosyaya eklenecek satırlar.

Özel durumlar

path sıfır uzunluklu bir dizedir, yalnızca boşluk içerir veya yöntemi tarafından GetInvalidPathChars() tanımlanan bir geçersiz karakter daha içerir.

veya pathcontents şeklindedir null.

path geçersiz (örneğin, dizin yok veya eşlenmemiş bir sürücüde).

tarafından path belirtilen dosya bulunamadı.

Dosyayı açarken bir G/Ç hatası oluştu.

path sistem tanımlı maksimum uzunluğu aşıyor.

path geçersiz bir biçimde.

Çağıranın dosyaya yazma izni yok.

path salt okunur bir dosya belirtir.

-veya-

Bu işlem geçerli platformda desteklenmiyor.

-veya-

path bir dizindir.

Örnekler

Aşağıdaki örnek, örnek veri dosyasından seçilen satırları bir dosyaya yazar ve daha fazla satır ekler. Örneğin başarıyla tamamlanması için C sürücüsünde adlı temp dizinin mevcut olması gerekir.

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

Açıklamalar

yöntemi, mevcut değilse dosyayı oluşturur, ancak yeni dizinler oluşturmaz. Bu nedenle, parametresinin path değeri mevcut dizinleri içermelidir.

Şunlara uygulanır

AppendAllLines(String, IEnumerable<String>, Encoding)

Kaynak:
File.cs
Kaynak:
File.cs
Kaynak:
File.cs

Belirtilen kodlamayı kullanarak bir dosyaya satır ekler ve sonra dosyayı kapatır. Belirtilen dosya yoksa, bu yöntem bir dosya oluşturur, belirtilen satırları dosyaya yazar ve sonra dosyayı kapatır.

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)

Parametreler

path
String

Satırların ekli olduğu dosya. Dosya henüz yoksa oluşturulur.

contents
IEnumerable<String>

Dosyaya eklenecek satırlar.

encoding
Encoding

Kullanılacak karakter kodlaması.

Özel durumlar

path sıfır uzunluklu bir dizedir, yalnızca boşluk içerir veya yöntemi tarafından GetInvalidPathChars() tanımlanan bir geçersiz karakter daha içerir.

, pathcontentsveya encoding şeklindedirnull.

path geçersiz (örneğin, dizin yok veya eşlenmemiş bir sürücüde).

tarafından path belirtilen dosya bulunamadı.

Dosyayı açarken bir G/Ç hatası oluştu.

path sistem tanımlı maksimum uzunluğu aşıyor.

path geçersiz bir biçimde.

Çağıranın gerekli izni yok.

path salt okunur bir dosya belirtir.

-veya-

Bu işlem geçerli platformda desteklenmiyor.

-veya-

path bir dizindir.

-veya-

Çağıranın gerekli izni yok.

Açıklamalar

yöntemi, mevcut değilse dosyayı oluşturur, ancak yeni dizinler oluşturmaz. Bu nedenle, parametresinin path değeri mevcut dizinleri içermelidir.

Aşağıdakini içeren bir dosya oluşturmak için bu yöntemi kullanabilirsiniz:

Şunlara uygulanır