File.AppendAllLines Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Добавляет строки в файл, затем закрывает файл.
Перегрузки
AppendAllLines(String, IEnumerable<String>) |
Добавляет строки в файл, затем закрывает файл. Если указанный файл не существует, этот метод создает файл, записывает в него указанные строки и затем закрывает файл. |
AppendAllLines(String, IEnumerable<String>, Encoding) |
Добавляет строки в файл, используя заданную кодировку, затем закрывает файл. Если указанный файл не существует, этот метод создает файл, записывает в него указанные строки и затем закрывает файл. |
AppendAllLines(String, IEnumerable<String>)
- Исходный код:
- File.cs
- Исходный код:
- File.cs
- Исходный код:
- File.cs
Добавляет строки в файл, затем закрывает файл. Если указанный файл не существует, этот метод создает файл, записывает в него указанные строки и затем закрывает файл.
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))
Параметры
- path
- String
Файл, в который добавляются строки. Если файл не существует, он создается.
- contents
- IEnumerable<String>
Строки, добавляемые в файл.
Исключения
path
представляет собой строку нулевой длины, содержащую только пробелы или еще один недопустимый символ, заданный методом GetInvalidPathChars().
Либо path
, либо contents
имеет значение null
.
Параметр path
является недопустимым (например, каталог не существует или указан несопоставленный диск).
Файл, заданный параметром path
, не обнаружен.
При открытии файла произошла ошибка ввода-вывода.
Длина параметра path
превышает максимальную длину, определенную в системе.
Параметр path
задан в недопустимом формате.
Вызывающий объект не имеет разрешения на запись в файл.
Параметр path
указывает файл, доступный только для чтения.
-или-
Эта операция не поддерживается на текущей платформе.
-или-
path
является каталогом.
Примеры
В следующем примере выбранные строки из примера файла данных записываются в файл, а затем добавляются дополнительные строки. Для успешного завершения примера должен существовать каталог с именем temp
на диске 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
Комментарии
Метод создает файл, если он не существует, но не создает новые каталоги. Поэтому значение path
параметра должно содержать существующие каталоги.
Применяется к
AppendAllLines(String, IEnumerable<String>, Encoding)
- Исходный код:
- File.cs
- Исходный код:
- File.cs
- Исходный код:
- File.cs
Добавляет строки в файл, используя заданную кодировку, затем закрывает файл. Если указанный файл не существует, этот метод создает файл, записывает в него указанные строки и затем закрывает файл.
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)
Параметры
- path
- String
Файл, в который добавляются строки. Если файл не существует, он создается.
- contents
- IEnumerable<String>
Строки, добавляемые в файл.
- encoding
- Encoding
Кодировка символов, которую нужно использовать.
Исключения
path
представляет собой строку нулевой длины, содержащую только пробелы или еще один недопустимый символ, заданный методом GetInvalidPathChars().
Какой-либо из параметров path
, contents
или encoding
имеет значение null
.
Параметр path
является недопустимым (например, каталог не существует или указан несопоставленный диск).
Файл, заданный параметром path
, не обнаружен.
При открытии файла произошла ошибка ввода-вывода.
Длина параметра path
превышает максимальную длину, определенную в системе.
Параметр path
задан в недопустимом формате.
У вызывающего объекта отсутствует необходимое разрешение.
Параметр path
указывает файл, доступный только для чтения.
-или-
Эта операция не поддерживается на текущей платформе.
-или-
path
является каталогом.
-или-
У вызывающего объекта отсутствует необходимое разрешение.
Комментарии
Метод создает файл, если он не существует, но не создает новые каталоги. Поэтому значение path
параметра должно содержать существующие каталоги.
Этот метод можно использовать для создания файла, содержащего следующее:
Результаты LINQ to Objects запроса в строках файла, полученные с помощью ReadLines метода .
Содержимое коллекции, реализующей IEnumerable<T> из строк.