C#에서 파일 입출력(I/O) 작업은 System.IO 네임스페이스를 통해 처리합니다. 이 네임스페이스에는 파일 생성 및 삭제, 파일 읽기·쓰기, 스트림 관리 등 다양한 작업을 수행할 수 있는 여러 클래스가 포함되어 있습니다.
C#의 주요 I/O 클래스
아래 표는 C#에서 자주 사용되는 대표적인 I/O 클래스와 각각의 역할을 정리한 것입니다.
| 번호 | 클래스 및 설명 |
|---|---|
| 1 | BinaryReader 이진(binary) 스트림에서 기본 데이터 형식(primitive data)을 읽어옵니다. |
| 2 | BinaryWriter 기본 데이터 형식을 이진 형식으로 기록합니다. |
| 3 | BufferedStream 바이트 스트림을 위한 임시 저장소 역할을 하며, 입출력 성능을 향상시킵니다. |
| 4 | Directory 디렉터리 구조를 조작하는 데 사용되는 정적(static) 클래스입니다. |
| 5 | DirectoryInfo 디렉터리에 대한 다양한 연산(생성, 이동, 삭제 등)을 수행할 때 사용됩니다. |
| 6 | DriveInfo 드라이브에 대한 정보(용량, 여유 공간 등)를 제공합니다. |
| 7 | File 파일을 생성, 복사, 삭제, 이동하는 등 파일 조작을 돕는 정적 클래스입니다. |
| 8 | FileInfo 파일에 대한 다양한 연산과 속성 정보를 다룰 때 사용됩니다. |
| 9 | FileStream 파일 내 임의의 위치에서 데이터를 읽고 쓸 수 있도록 지원합니다. |
| 10 | MemoryStream 메모리에 저장된 스트림 데이터에 무작위로 접근할 수 있게 해줍니다. |
| 11 | Path 파일 경로 문자열에 대한 다양한 연산을 수행합니다. |
| 12 | StreamReader 바이트 스트림에서 문자를 읽어올 때 사용됩니다. |
| 13 | StreamWriter 스트림에 문자를 기록할 때 사용됩니다. |
| 14 | StringReader 문자열 버퍼에서 데이터를 읽어옵니다. |
| 15 | StringWriter 문자열 버퍼에 데이터를 기록합니다. |
정리
System.IO 네임스페이스의 클래스들은 크게 바이트 단위 입출력(BinaryReader, BinaryWriter, FileStream 등), 문자 단위 입출력(StreamReader, StreamWriter), 파일·디렉터리 관리(File, FileInfo, Directory, DirectoryInfo)로 나눌 수 있습니다. 작업 목적에 맞는 적절한 클래스를 선택하면 파일 처리 코드를 더욱 효율적으로 작성할 수 있습니다.