File.AppendAllLines Método

Definición

Anexa líneas a un archivo y, a continuación, cierra el archivo.

Sobrecargas

Nombre Description
AppendAllLines(String, IEnumerable<String>)

Anexa líneas a un archivo y, a continuación, cierra el archivo. Si el archivo especificado no existe, este método crea un archivo, escribe las líneas especificadas en el archivo y, a continuación, cierra el archivo.

AppendAllLines(String, IEnumerable<String>, Encoding)

Anexa líneas a un archivo mediante una codificación especificada y, a continuación, cierra el archivo. Si el archivo especificado no existe, este método crea un archivo, escribe las líneas especificadas en el archivo y, a continuación, cierra el archivo.

AppendAllLines(String, IEnumerable<String>)

Source:
File.cs
Source:
File.cs
Source:
File.cs
Source:
File.cs
Source:
File.cs

Anexa líneas a un archivo y, a continuación, cierra el archivo. Si el archivo especificado no existe, este método crea un archivo, escribe las líneas especificadas en el archivo y, a continuación, cierra el archivo.

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

Parámetros

path
String

Archivo al que se anexan las líneas. El archivo se crea si aún no existe.

contents
IEnumerable<String>

Líneas que se van a anexar al archivo.

Excepciones

path es una cadena de longitud cero, contiene solo espacios en blanco o contiene uno más caracteres no válidos definidos por el GetInvalidPathChars() método .

o pathcontents es null.

path no es válido (por ejemplo, el directorio no existe o está en una unidad no asignada).

No se encontró el archivo especificado por path .

Error de E/S al abrir el archivo.

path supera la longitud máxima definida por el sistema.

path tiene un formato no válido.

El autor de la llamada no tiene permiso para escribir en el archivo.

path especifica un archivo que es de solo lectura.

O bien

Esta operación no se admite en la plataforma actual.

O bien

path es un directorio.

Ejemplos

En el ejemplo siguiente se escriben líneas seleccionadas de un archivo de datos de ejemplo en un archivo y, a continuación, se anexan más líneas. El directorio denominado temp en la unidad C debe existir para que el ejemplo se complete correctamente.

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

Comentarios

El método crea el archivo si no existe, pero no crea directorios nuevos. Por lo tanto, el valor del path parámetro debe contener directorios existentes.

Se aplica a

AppendAllLines(String, IEnumerable<String>, Encoding)

Source:
File.cs
Source:
File.cs
Source:
File.cs
Source:
File.cs
Source:
File.cs

Anexa líneas a un archivo mediante una codificación especificada y, a continuación, cierra el archivo. Si el archivo especificado no existe, este método crea un archivo, escribe las líneas especificadas en el archivo y, a continuación, cierra el archivo.

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)

Parámetros

path
String

Archivo al que se anexan las líneas. El archivo se crea si aún no existe.

contents
IEnumerable<String>

Líneas que se van a anexar al archivo.

encoding
Encoding

Codificación de caracteres que se va a usar.

Excepciones

path es una cadena de longitud cero, contiene solo espacios en blanco o contiene uno más caracteres no válidos definidos por el GetInvalidPathChars() método .

contents, patho encoding es null.

path no es válido (por ejemplo, el directorio no existe o está en una unidad no asignada).

No se encontró el archivo especificado por path .

Error de E/S al abrir el archivo.

path supera la longitud máxima definida por el sistema.

path tiene un formato no válido.

El autor de la llamada no tiene el permiso necesario.

path especifica un archivo que es de solo lectura.

O bien

Esta operación no se admite en la plataforma actual.

O bien

path es un directorio.

O bien

El autor de la llamada no tiene el permiso necesario.

Comentarios

El método crea el archivo si no existe, pero no crea directorios nuevos. Por lo tanto, el valor del path parámetro debe contener directorios existentes.

Puede usar este método para crear un archivo que contenga lo siguiente:

  • Los resultados de una consulta LINQ to Objects en las líneas de un archivo, como se obtiene mediante el ReadLines método .

  • Contenido de una colección que implementa una IEnumerable<T> de cadenas.

Se aplica a