File.AppendAllLines Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Lägger till rader i en fil och stänger sedan filen.
Överlagringar
| Name | Description |
|---|---|
| AppendAllLines(String, IEnumerable<String>) |
Lägger till rader i en fil och stänger sedan filen. Om den angivna filen inte finns skapar den här metoden en fil, skriver de angivna raderna till filen och stänger sedan filen. |
| AppendAllLines(String, IEnumerable<String>, Encoding) |
Lägger till rader i en fil med hjälp av en angiven kodning och stänger sedan filen. Om den angivna filen inte finns skapar den här metoden en fil, skriver de angivna raderna till filen och stänger sedan filen. |
AppendAllLines(String, IEnumerable<String>)
Lägger till rader i en fil och stänger sedan filen. Om den angivna filen inte finns skapar den här metoden en fil, skriver de angivna raderna till filen och stänger sedan filen.
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))
Parametrar
- path
- String
Filen som raderna ska läggas till i. Filen skapas om den inte redan finns.
- contents
- IEnumerable<String>
Raderna som ska läggas till i filen.
Undantag
path är en sträng med noll längd, innehåller endast tomt utrymme eller innehåller ytterligare ett ogiltigt tecken som definierats av GetInvalidPathChars() metoden.
Antingen path eller contents är null.
path är ogiltigt (till exempel finns inte katalogen eller så finns den på en ommappad enhet).
Filen som angavs av path hittades inte.
Ett I/O-fel uppstod när filen öppnades.
path överskrider den systemdefinierade maximala längden.
path är i ett ogiltigt format.
Anroparen har inte behörighet att skriva till filen.
path anger en fil som är skrivskyddad.
-eller-
Den här åtgärden stöds inte på den aktuella plattformen.
-eller-
path är en katalog.
Exempel
I följande exempel skrivs markerade rader från en exempeldatafil till en fil och sedan läggs fler rader till. Katalogen med namnet temp på enhet C måste finnas för att exemplet ska kunna slutföras.
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
Kommentarer
Metoden skapar filen om den inte finns, men den skapar inte nya kataloger. Därför måste värdet för parametern path innehålla befintliga kataloger.
Gäller för
AppendAllLines(String, IEnumerable<String>, Encoding)
Lägger till rader i en fil med hjälp av en angiven kodning och stänger sedan filen. Om den angivna filen inte finns skapar den här metoden en fil, skriver de angivna raderna till filen och stänger sedan filen.
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)
Parametrar
- path
- String
Filen som raderna ska läggas till i. Filen skapas om den inte redan finns.
- contents
- IEnumerable<String>
Raderna som ska läggas till i filen.
- encoding
- Encoding
Teckenkodningen som ska användas.
Undantag
path är en sträng med noll längd, innehåller endast tomt utrymme eller innehåller ytterligare ett ogiltigt tecken som definierats av GetInvalidPathChars() metoden.
Antingen path, contentseller encoding är null.
path är ogiltigt (till exempel finns inte katalogen eller så finns den på en ommappad enhet).
Filen som angavs av path hittades inte.
Ett I/O-fel uppstod när filen öppnades.
path överskrider den systemdefinierade maximala längden.
path är i ett ogiltigt format.
Anroparen har inte den behörighet som krävs.
path anger en fil som är skrivskyddad.
-eller-
Den här åtgärden stöds inte på den aktuella plattformen.
-eller-
path är en katalog.
-eller-
Anroparen har inte den behörighet som krävs.
Kommentarer
Metoden skapar filen om den inte finns, men den skapar inte nya kataloger. Därför måste värdet för parametern path innehålla befintliga kataloger.
Du kan använda den här metoden för att skapa en fil som innehåller följande:
Resultatet av en LINQ-till-objekt-fråga på raderna i en fil, enligt ReadLines metoden .
Innehållet i en samling som implementerar en IEnumerable<T> sträng.