File.AppendAllLines Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Anexa líneas a un archivo y, a continuación, cierra el archivo.
Sobrecargas
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 él y, a continuación, lo cierra. |
AppendAllLines(String, IEnumerable<String>, Encoding) |
Anexa líneas a un archivo usando la codificación especificada y, a continuación, lo cierra. Si el archivo especificado no existe, este método crea un archivo, escribe las líneas especificadas en él y, a continuación, lo cierra. |
AppendAllLines(String, IEnumerable<String>)
- 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 él y, a continuación, lo cierra.
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
El archivo al que se van a anexar líneas. Si el archivo no existe, se creará.
- contents
- IEnumerable<String>
Las líneas que se van a anexar al archivo.
Excepciones
path
es una cadena de longitud cero que solo contiene espacios en blanco o uno o varios caracteres no válidos definidos por el método GetInvalidPathChars().
path
o contents
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
.
Se produjo un error de E/S al abrir el archivo.
path
supera la longitud máxima definida por el sistema.
path
está en un formato no válido.
El llamador no tiene permiso para escribir en el archivo.
path
especifica un archivo que es de solo lectura.
o bien
Esta operación no es compatible con 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 nuevos directorios. 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
Anexa líneas a un archivo usando la codificación especificada y, a continuación, lo cierra. Si el archivo especificado no existe, este método crea un archivo, escribe las líneas especificadas en él y, a continuación, lo cierra.
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
El archivo al que se van a anexar líneas. Si el archivo no existe, se creará.
- contents
- IEnumerable<String>
Las líneas que se van a anexar al archivo.
- encoding
- Encoding
Codificación de caracteres que se utilizará.
Excepciones
path
es una cadena de longitud cero que solo contiene espacios en blanco o uno o varios caracteres no válidos definidos por el método GetInvalidPathChars().
path
, contents
o 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
.
Se produjo un error de E/S al abrir el archivo.
path
supera la longitud máxima definida por el sistema.
path
está en un formato no válido.
El llamador no dispone del permiso requerido.
path
especifica un archivo que es de solo lectura.
o bien
Esta operación no es compatible con la plataforma actual.
o bien
path
es un directorio.
o bien
El llamador no dispone del permiso requerido.
Comentarios
El método crea el archivo si no existe, pero no crea nuevos directorios. 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.