상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - C#에서 파일 입출력을 처리하는 방법은?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
C 에서 파일 입출력(I/O)을 처리하는 방법은 여러 가지가 있으며, 주로 `System.IO` 네임스페이스에 포함된 클래스를 사용하여 구현합니다. 이 네임스페이스는 파일 및 데이터 스트림을 읽고 쓰기 위한 다양한 클래스를 제공합니다. 아래에서는 파일 입출력의 기본적인 방법과 함께 몇 가지 주요 클래스를 소개하겠습니다. 1. 파일 읽기 및 쓰기 C 에서 파일을 읽고 쓰는 가장 기본적인 방법은 `File` 클래스와 `StreamReader`, `StreamWriter` 클래스를 사용하는 것입니다. 1.1. File 클래스 `File` 클래스는 파일을 생성, 삭제, 복사, 이동 및 열기와 같은 다양한 메서드를 제공합니다. - 파일 쓰기 : ```csharp using System.IO; string filePath = "example.txt"; string content = "Hello, World!"; // 파일에 문자열을 쓰기 File.WriteAllText(filePath, content); ``` - 파일 읽기 : ```csharp // 파일에서 문자열을 읽기 string readContent = File.ReadAllText(filePath); Console.WriteLine(readContent); ``` 1.2. StreamReader 및 StreamWriter `StreamReader`와 `StreamWriter`는 파일을 스트림 방식으로 읽고 쓸 수 있게 해줍니다. 이 방법은 대용량 파일을 처리할 때 유용합니다. - 파일 쓰기 : ```csharp using (StreamWriter writer = new StreamWriter(filePath)) { writer.WriteLine("Hello, World!"); writer.WriteLine("Welcome to C file I/O."); } ``` - 파일 읽기 : ```csharp using (StreamReader reader = new StreamReader(filePath)) { string line; while ((line = reader.ReadLine()) != null) { Console.WriteLine(line); } } ``` 2. 파일 및 디렉토리 관리 C 에서는 파일과 디렉토리를 관리하기 위한 다양한 메서드를 제공하는 `Directory` 클래스와 `FileInfo`, `DirectoryInfo` 클래스를 사용할 수 있습니다. - 디렉토리 생성 : ```csharp string directoryPath = "exampleDir"; if (!Directory.Exists(directoryPath)) { Directory.CreateDirectory(directoryPath); } ``` - 디렉토리 내 파일 <a href='https://sangseek.com/sangseeks/목록 가져오기/ko'>목록 가져오기</a> : ```csharp string[] files = Directory.GetFiles(directoryPath); foreach (string file in files) { Console.WriteLine(file); } ``` - 파일 정보 가져오기 : ```csharp FileInfo fileInfo = new FileInfo(filePath); Console.WriteLine($"File Name: {fileInfo.Name}"); Console.WriteLine($"File Size: {fileInfo.Length} bytes"); ``` 3. 비동기 파일 I/O C 에서는 비동기 방식으로 파일을 읽고 쓸 수 있는 메서드도 제공합니다. 이는 UI 응답성을 높이거나 대규모 데이터 처리를 할 때 유용합니다. - 비동기 파일 쓰기 : ```csharp using (StreamWriter writer = new StreamWriter(filePath)) { await writer.WriteLineAsync("Hello, Async World!"); } ``` - 비동기 파일 읽기 : ```csharp using (StreamReader reader = new StreamReader(filePath)) { string content = await reader.ReadToEndAsync(); Console.WriteLine(content); } ``` 4. 예외 처리 파일 입출력 작업은 다양한 예외가 발생할 수 있으므로, 항상 예외 처리를 고려해야 합니다. 예를 들어, 파일이 존재하지 않거나 읽기/쓰기 권한이 없을 경우 예외가 발생할 수 있습니다. ```csharp try { string content = File.ReadAllText(filePath); } catch (FileNotFoundException ex) { Console.WriteLine($"File not found: {ex.Message}"); } catch (UnauthorizedAccessException ex) { Console.WriteLine($"Access denied: {ex.Message}"); } catch (Exception ex) { Console.WriteLine($"An error occurred: {ex.Message}"); } ``` 5. 파일 스트림 파일을 보다 세밀하게 제어하고 싶다면 `FileStream` 클래스를 사용할 수 있습니다. 이 클래스는 파일에 대한 바이트 스트림을 제공하며, 파일의 특정 위치에서 읽고 쓸 수 있는 기능을 제공합니다. ```csharp using (FileStream fs = new FileStream(filePath, FileMode.OpenOrCreate)) { byte[] data = new UTF8Encoding(true).GetBytes("Hello, FileStream!"); fs.Write(data, 0, data.Length); } ``` 결론 C 에서 파일 입출력은 매우 유연하고 강력한 기능을 제공합니다. `System.IO` 네임스페이스의 다양한 클래스를 활용하여 파일을 읽고 쓰는 기본적인 작업부터, 비동기 처리 및 파일 관리까지 다양한 작업을 수행할 수 있습니다. 이러한 기능들을 적절히 활용하여 효율적인 파일 입출력 처리를 구현할 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기