C# 텍스트 파일 쓰기 : 예제가 다수 포함된 텍스트파일 작성법

C#로 텍스트 파일을 작성하는 방법을 보여줍니다. C#에서의 입력 및 출력 작업은 스트림을 기반으로 합니다. C#에서의 입력 및 출력은 스트림을 기반으로 합니다. 스트림은 모든 스트림의 추상 기본 클래스입니다. 스트림은 파일, 입력/출력 장치, 프로세스 간 통신 파이프 또는 TCP/IP 소켓과 같은 바이트 시퀀스의 추상화입니다.

C# Stream

Stream 은 입력 및 출력의 유형에 대한 일반적인 인터페이스를 제공하며 프로그래머를 운영 체제 및 기반이 되는 장치의 구체적인 세부 정보로부터 격리합니다. 예를 들어, MemoryStream은 메모리에 있는 데이터와 함께 작동하며 FileStream은 파일에 있는 데이터와 함께 작동합니다.

File.WriteAllText을 사용하여 텍스트 파일 작성

File.WriteAllText 메서드는 새 파일을 생성하고 내용을 파일에 씁니다. 그런 다음 파일을 닫습니다. 대상 파일이 이미 존재하는 경우 덮어쓰기됩니다.

using System.IO;

class Program
{
    static void Main(string[] args)
    {
        string path = "파일경로.txt";
        string text = "이 파일에 작성할 텍스트";
        File.WriteAllText(path, text);
        Console.WriteLine("텍스트가 파일에 성공적으로 작성되었습니다.");
    }
}

이 예제는 파일에 텍스트를 작성합니다.

File.WriteAllText(path, text);

File.WriteAllText 메서드는 두 개의 매개변수를 사용합니다: 쓸 파일경로와 파일에 쓸 문자열입니다. 메서드는 선택적 세 번째 매개변수를 사용합니다. 인코딩이 지정되지 않으면 UTF8이 설정됩니다.

File.WriteAllLines을 사용하여 텍스트 파일 작성

File.WriteAllLines 메서드는 새 파일을 생성하고 하나 이상의 문자열을 파일에 씁니다. 그런 다음 파일을 닫습니다.

using System.IO;

class Program
{
    static void Main(string[] args)
    {
        string path = "파일경로.txt";
        string[] lines = { "첫 번째 줄", "두 번째 줄", "세 번째 줄" };
        File.WriteAllLines(path, lines);
        Console.WriteLine("여러 줄의 텍스트가 파일에 성공적으로 작성되었습니다.");
    }
}

이 예제는 File.WriteAllLines 메서드를 사용하여 여러 줄의 텍스트를 파일에 쓰는 방법을 보여줍니다.

string[] lines = { "첫 번째 줄", "두 번째 줄", "세 번째 줄" };

이것은 세 줄의 문자열 배열입니다.

File.WriteAllLines(path, lines);

File.WriteAllLines 메서드를 사용하여 줄이 파일에 작성됩니다.

File.WriteAllBytes를 사용하여 텍스트 파일 작성

File.WriteAllBytes 메서드는 새 파일을 생성하고 지정된 바이트 배열을 파일에 씁니다. 그런 다음 파일을 닫습니다. 대상 파일이 이미 존재하는 경우 덮어쓰기됩니다.

using System.Text;

var path = "data.txt";

string text = "File.WriteAllBytes 를 활용한 파일 작성";
byte[] data = Encoding.ASCII.GetBytes(text);

File.WriteAllBytes(path, data);

Console.WriteLine("데이터가 파일에 작성되었습니다.");

이 예제는 File.WriteAllBytes 메서드를 사용하여 텍스트를 텍스트 파일에 작성합니다.

string text = "File.WriteAllBytes 를 활용한 파일 작성";
byte[] data = Encoding.ASCII.GetBytes(text);

먼저 Encoding.ASCII.GetBytes 메서드를 사용하여 텍스트를 바이트로 변환합니다.

File.WriteAllBytes(path, data);

그런 다음 File.WriteAllBytes 메서드를 사용하여 바이트 배열이 파일에 작성됩니다.

StreamWriter의 WriteLine을 사용하여 텍스트 파일 작성

StreamWriter의 WriteLine 메서드는 서식이 있는 문자열과 새 줄을 스트림에 작성합니다.

using System;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        string path = "파일경로.txt";
        using (StreamWriter writer = new StreamWriter(path))
        {
            writer.WriteLine("StreamWriter를 사용한 텍스트 작성 예제");
            writer.WriteLine("이 텍스트는 StreamWriter를 사용하여 작성됩니다.");
        }
        Console.WriteLine("StreamWriter를 사용하여 텍스트가 파일에 성공적으로 작성되었습니다.");
    }
}

이 예제는 텍스트 파일에 한 줄을 작성합니다.

using var sw = new StreamWriter(path);
sw.WriteLine("StreamWriter를 사용한 텍스트 작성 예제");

한 줄이 텍스트 파일에 작성됩니다. 파일 자원을 자동으로 해제하기 위해 using 문을 사용하여 StreamWriter를 사용한 후 자동으로 파일을 닫습니다.

FileStream의 write를 사용하여 텍스트 파일 작성

FileStream의 write 메서드는 바이트 블록을 파일 스트림에 씁니다.

using System.Text;
class Program
{
    static void Main(string[] args)
    {
        var path = "data.txt";

        using( FileStream fs = File.OpenWrite(path))
        {
            var data = "FileStream 을 활용한 예제";
            byte[] bytes = Encoding.UTF8.GetBytes(data);
            fs.Write(bytes, 0, bytes.Length);
        }
        Console.WriteLine("데이터가 파일에 작성되었습니다.");
    }
}

이 예제는 텍스트 데이터를 텍스트 파일에 작성합니다.

using FileStream fs = File.OpenWrite(path);

먼저 File.OpenWrite 메서드를 사용하여 파일 스트림을 엽니다.

var data = "FileStream 을 활용한 예제";
byte[] bytes = Encoding.UTF8.GetBytes(data);

그런 다음 Encoding.UTF8.GetBytes 메서드를 사용하여 텍스트 데이터를 바이트로 변환합니다.

fs.Write(bytes, 0, bytes.Length);

마지막으로 배열의 바이트를 파일 스트림에 작성합니다.

File.WriteAllTextAsync 사용하여 비동기적으로 파일 작성하기

이전 예에서는 텍스트 데이터를 동기적으로 작성했습니다. C#은 또한 동등한 비동기 메서드를 제공합니다.

File.WriteAllTextAsync는 새 파일을 비동기적으로 생성하고 지정된 문자열을 파일에 씁니다. 그런 다음 파일을 닫습니다. 대상 파일이 이미 존재하는 경우 덮어쓰기됩니다.

using System;
using System.IO;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        string path = "파일경로.txt";
        string text = "비동기적으로 쓰여진 텍스트";
        await File.WriteAllTextAsync(path, text);
        Console.WriteLine("비동기적으로 텍스트가 파일에 작성되었습니다.");
    }
}

이 예에서는 텍스트 파일에 비동기적으로 씁니다.

await File.WriteAllTextAsync(path, text);

await 연산자는 비동기 메서드 내의 작업을 일시 중지하여 기다리고 해당 메서드가 완료될 때까지 실행을 중단합니다.

결론

C#에서 텍스트 파일을 작성하는 방법에는 여러 가지가 있습니다. File 클래스의 다양한 메서드나 StreamWriter 클래스를 사용하여 파일에 텍스트를 쓸 수 있습니다. 비동기 파일 쓰기를 사용하면 대용량 파일을 다룰 때 유용하며, 각각의 방법에 따라 적절한 상황에서 사용할 수 있습니다.

Leave a Comment