File.AppendAllLines Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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 path
contents
ş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.
, path
contents
veya 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:
yöntemi kullanılarak elde edilen bir dosyanın satırlarındaki LINQ to Objects sorgusunun ReadLines sonuçları.
Dizeleri uygulayan bir IEnumerable<T> koleksiyonun içeriği.