System.IO 네임스페이스
C#에서 파일 입출력 기능을 사용하려면 `System.IO` 네임스페이스를 포함해야 합니다. 이 네임스페이스는 파일과 디렉터리를 관리하고, 텍스트 및 이진 데이터를 읽고 쓰는 데 필요한 클래스들을 제공합니다.
파일 입출력 클래스
- `StreamReader`: 텍스트 파일을 읽을 때 사용합니다. - `StreamWriter`: 텍스트 파일을 쓸 때 사용합니다. - `FileStream`: 이진 데이터를 읽고 쓸 때 사용합니다.
텍스트 파일 읽기/쓰기 (StreamReader, StreamWriter)
텍스트 파일을 읽고 쓰는 가장 기본적인 방법은 `StreamReader`와 `StreamWriter`를 사용하는 것입니다.
텍스트 파일 쓰기 (StreamWriter)
using System.IO;
class Program
{
static void Main()
{
string filePath = "example.txt";
using (StreamWriter writer = new StreamWriter(filePath))
{
writer.WriteLine("C# 파일 입출력 예제입니다.");
writer.WriteLine("이 파일은 StreamWriter를 사용하여 작성되었습니다.");
}
}
}
위 코드에서는 `StreamWriter`를 사용하여 `example.txt` 파일에 텍스트를 작성합니다. `using` 구문을 사용하여 파일을 자동으로 닫을 수 있습니다.
텍스트 파일 읽기 (StreamReader)
using System.IO;
class Program
{
static void Main()
{
string filePath = "example.txt";
using (StreamReader reader = new StreamReader(filePath))
{
string content = reader.ReadToEnd();
Console.WriteLine(content);
}
}
}
`StreamReader`를 사용하여 텍스트 파일의 내용을 읽을 수 있습니다. `ReadToEnd()` 메서드는 파일의 끝까지 읽어서 문자열로 반환합니다.
JSON/XML 데이터 처리
C#에서는 JSON과 XML 데이터를 읽고 쓸 수 있는 라이브러리가 내장되어 있습니다. JSON은 `Newtonsoft.Json` 라이브러리를 사용하고, XML은 `System.Xml` 네임스페이스의 클래스를 사용합니다.
JSON 데이터 처리
JSON 데이터를 처리하려면 `Newtonsoft.Json` 라이브러리를 설치해야 합니다. NuGet 패키지 매니저를 통해 설치할 수 있습니다.
using Newtonsoft.Json;
using System.IO;
class Program
{
static void Main()
{
// 객체 생성
var person = new { Name = "홍길동", Age = 30 };
// JSON으로 변환하여 파일에 저장
string json = JsonConvert.SerializeObject(person);
File.WriteAllText("person.json", json);
// 파일에서 JSON 읽기
string readJson = File.ReadAllText("person.json");
var deserializedPerson = JsonConvert.DeserializeObject(readJson);
Console.WriteLine(deserializedPerson);
}
}
`JsonConvert.SerializeObject`를 사용하여 객체를 JSON 문자열로 변환하고, `JsonConvert.DeserializeObject`를 사용하여 JSON 문자열을 객체로 변환합니다.
XML 데이터 처리
XML 데이터를 처리하려면 `System.Xml` 네임스페이스의 클래스를 사용할 수 있습니다. 예를 들어, `XmlDocument` 클래스는 XML 문서를 읽고 쓸 수 있게 해줍니다.
using System;
using System.Xml;
class Program
{
static void Main()
{
// XML 파일 생성
XmlDocument doc = new XmlDocument();
XmlElement root = doc.CreateElement("Person");
doc.AppendChild(root);
XmlElement name = doc.CreateElement("Name");
name.InnerText = "홍길동";
root.AppendChild(name);
XmlElement age = doc.CreateElement("Age");
age.InnerText = "30";
root.AppendChild(age);
doc.Save("person.xml");
// XML 파일 읽기
doc.Load("person.xml");
Console.WriteLine(doc.OuterXml);
}
}
`XmlDocument` 클래스를 사용하여 XML 파일을 생성하고, `InnerText` 속성을 통해 XML 요소에 데이터를 추가합니다. `Save` 메서드를 사용하여 파일에 저장하고, `Load` 메서드를 사용하여 파일을 읽습니다.
'Programming' 카테고리의 다른 글
| C# 모듈화와 테스트 (65) | 2025.12.16 |
|---|---|
| C# 예외 처리 (13) | 2025.12.14 |
| C# NET Core (0) | 2025.12.13 |
| C# WPF/WinForms UI 프로그래밍 (0) | 2025.12.12 |
| C# LINQ(Language Integrated Query) (0) | 2025.12.11 |