A file은 지정된 이름과 디렉터리 경로로 디스크에 저장된 데이터 모음입니다. 파일을 읽거나 쓰기 위해 열면 stream이 됩니다.
기본적으로 스트림은 통신 경로를 통해 전달되는 일련의 바이트입니다. 두 가지 주요 스트림이 있습니다: 입력 스트림과 출력 스트림. 입력 스트림은 파일에서 데이터를 읽는 데 사용되며(읽기 작업), 출력 스트림은 파일에 데이터를 쓰는 데 사용됩니다(쓰기 작업).
C# I/O 클래스
System.IO 네임스페이스에는 파일 생성 및 삭제, 파일 읽기 또는 쓰기, 파일 닫기 등과 같은 다양한 파일 작업을 수행하는 데 사용되는 다양한 클래스가 있습니다.
다음 표에는 System.IO 네임스페이스에서 일반적으로 사용되는 일부 비추상 클래스가 나열되어 있습니다.
| I/O 클래스 | Description |
|---|---|
| BinaryReader | 이진 스트림에서 원시 데이터를 읽습니다. |
| BinaryWriter | 원시 데이터를 바이너리 형식으로 씁니다. |
| BufferedStream | 바이트 스트림의 임시 저장 공간입니다. |
| Directory | 는 디렉토리 구조를 조작하는 데 도움이 됩니다. |
| DirectoryInfo | 은 디렉터리에 대한 작업을 수행하는 데 사용됩니다. |
| DriveInfo | 는 드라이브 정보를 제공합니다. |
| File | 은 파일 처리에 도움이 됩니다. |
| FileInfo | 은 파일 작업을 수행하는 데 사용됩니다. |
| FileStream | 은 파일의 어느 곳에서나 읽고 쓰는 데 사용됩니다. |
| MemoryStream | 은 메모리에 저장된 데이터 스트림에 대한 무작위 액세스에 사용됩니다. |
| Path | 경로 정보에 대한 작업을 수행합니다. |
| StreamReader | 은 바이트 스트림에서 문자를 읽는 데 사용됩니다. |
| StreamWriter | 은 스트림에 문자를 쓰는 데 사용됩니다. |
| StringReader | 은 문자열 버퍼를 읽는 데 사용됩니다. |
| StringWriter | 은 문자열 버퍼를 쓰는 데 사용됩니다. |
FileStream 클래스
System.IO 네임스페이스의 FileStream 클래스는 파일 읽기, 쓰기 및 닫기를 용이하게 합니다. 이 클래스는 추상 클래스 Stream에서 파생됩니다.
새 파일을 만들거나 기존 파일을 열려면 FileStream 개체를 만들어야 합니다. FileStream 객체를 생성하는 구문은 다음과 같습니다.
FileStream <object_name> = new FileStream( <file_name>, <FileMode Enumerator>, <FileAccess Enumerator>, <FileShare Enumerator>);
예를 들어 sample.txt라는 파일을 읽으려면 FileStream 객체 F를 생성합니다.
FileStream F = new FileStream("sample.txt", FileMode.Open, FileAccess.Read, FileShare.Read);| Parameters | Description |
|---|---|
| FileMo de | FileMode 열거형은 파일을 여는 다양한 방법을 정의합니다. FileMode 열거형의 멤버는 다음과 같습니다:
|
| FileAccess | FileAccess 열거형의 멤버는 Read, ReadWrite 및 Write입니다. |
| FileShare | FileShare 열거형의 멤버는 다음과 같습니다.
|
예제
다음 프로그램은 FileStream 클래스의 사용법을 보여줍니다.
using System;
using System.IO;
namespace FileIOApplication
{
class Program
{
static void Main(string[] args)
{
FileStream F = new FileStream("test.dat",
FileMode.OpenOrCreate, FileAccess.ReadWrite);
for (int i = 1; i <= 20; i++)
{
F.WriteByte((byte)i);
}
F.Position = 0;
for (int i = 0; i <= 20; i++)
{
Console.Write(F.ReadByte() + " ");
}
F.Close();
Console.ReadKey();
}
}
}위 코드를 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 -1
C# 고급 파일 작업
위의 예는 C#의 간단한 파일 작업을 보여줍니다. 그러나 C# System.IO 클래스의 기능을 최대한 활용하려면 이러한 클래스에서 일반적으로 사용되는 속성과 메서드를 알아야 합니다.
다음 섹션에서는 이러한 클래스와 해당 클래스가 수행하는 작업에 대해 설명합니다. 각 부분에 대해 자세히 알아보려면 링크를 클릭하세요.
| Topic | Description |
|---|---|
| 텍스트 파일 읽기 및 쓰기 | 텍스트 파일 읽기 및 쓰기가 포함됩니다. StreamReader 및 StreamWriter 클래스는 텍스트 파일을 읽고 쓰는 데 도움이 됩니다. |
| 바이너리 파일 읽기 및 쓰기 | 바이너리 파일 읽기 및 쓰기가 포함됩니다. BinaryReader 및 BinaryWriter 클래스는 바이너리 파일을 읽고 쓰는 데 도움이 됩니다. |
| Windows 파일 시스템 운영 | 이를 통해 C# 프로그래머는 Windows 파일 및 디렉터리를 탐색하고 찾을 수 있습니다. |












![PHP 실용 개발 시작하기: 빠른 PHP 생성 [중소기업 포럼]](https://img.php.cn/upload/course/000/000/035/5d27fb58823dc974.jpg)









