File.AppendAllLines 메서드

정의

파일에 줄을 추가한 다음 파일을 닫습니다.

오버로드

AppendAllLines(String, IEnumerable<String>)

파일에 줄을 추가한 다음 파일을 닫습니다. 지정한 파일이 없는 경우 이 메서드는 파일을 만들고 지정된 줄을 파일에 쓴 다음 파일을 닫습니다.

AppendAllLines(String, IEnumerable<String>, Encoding)

지정된 인코딩을 사용하여 파일에 줄을 추가한 다음 파일을 닫습니다. 지정한 파일이 없는 경우 이 메서드는 파일을 만들고 지정된 줄을 파일에 쓴 다음 파일을 닫습니다.

AppendAllLines(String, IEnumerable<String>)

파일에 줄을 추가한 다음 파일을 닫습니다. 지정한 파일이 없는 경우 이 메서드는 파일을 만들고 지정된 줄을 파일에 쓴 다음 파일을 닫습니다.

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 또는 contentsnull인 경우

path가 잘못되었습니다(예: 디렉터리가 없거나 매핑되지 않은 드라이브에 있음).

path로 지정된 파일을 찾을 수 없습니다.

파일을 여는 동안 I/O 오류가 발생했습니다.

path가 시스템에서 정의한 최대 길이를 초과합니다.

path의 형식이 잘못되었습니다.

호출자에게 파일에 쓸 수 있는 사용 권한이 없습니다.

path가 읽기 전용 파일을 지정합니다.

또는 현재 플랫폼이 해당 작업을 지원하지 않는 경우

또는 path는 디렉터리입니다.

예제

다음 예제에서는 샘플 데이터 파일에서 선택한 줄을 파일에 쓴 다음 더 많은 줄을 추가합니다. 예제를 성공적으로 완료하려면 C 드라이브에 이름이 지정된 temp 디렉터리가 있어야 합니다.

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());
            }
        }
    }
}
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)

지정된 인코딩을 사용하여 파일에 줄을 추가한 다음 파일을 닫습니다. 지정한 파일이 없는 경우 이 메서드는 파일을 만들고 지정된 줄을 파일에 쓴 다음 파일을 닫습니다.

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 또는 encodingnull입니다.

path가 잘못되었습니다(예: 디렉터리가 없거나 매핑되지 않은 드라이브에 있음).

path로 지정된 파일을 찾을 수 없습니다.

파일을 여는 동안 I/O 오류가 발생했습니다.

path가 시스템에서 정의한 최대 길이를 초과합니다.

path의 형식이 잘못되었습니다.

호출자에게 필요한 권한이 없는 경우

path가 읽기 전용 파일을 지정합니다.

또는 현재 플랫폼이 해당 작업을 지원하지 않는 경우

또는 path는 디렉터리입니다.

또는 호출자에게 필요한 권한이 없는 경우

설명

이 메서드는 존재하지 않는 경우 파일을 만들지만 새 디렉터리를 만들지는 않습니다. 따라서 매개 변수 값에는 path 기존 디렉터리를 포함해야 합니다.

이 메서드를 사용하여 다음이 포함된 파일을 만들 수 있습니다.

적용 대상