C#의 파일 처리: I/O Opera사항 [예시]
C#에는 다양한 파일 작업이 있습니다. 이러한 작업에는 파일 열기, 파일 읽기 또는 쓰기가 포함됩니다. 파일을 직접 작업하려는 경우가 있을 수 있으며, 이 경우 C#에서 사용 가능한 파일 작업을 사용합니다. 몇 가지 기본 파일 작업은 아래에 나와 있습니다.
- 읽기 – 이 작업은 파일에서 데이터를 읽는 기본적인 읽기 작업입니다.
- 쓰기 - 이 작업은 데이터가 파일에 쓰여지는 기본 쓰기 작업입니다. 기본적으로 모든 기존 내용이 파일에서 제거되고 새 내용이 쓰여집니다.
- 추가 - 이 작업에는 파일에 정보를 쓰는 것도 포함됩니다. 유일한 차이점은 파일에 있는 기존 데이터가 덮어쓰이지 않는다는 것입니다. 쓸 새 데이터는 파일 끝에 추가됩니다.
기본 I/O 명령
C# 및 .Net은 여러 파일 I/O 명령을 사용하여 파일 작업을 수행할 수 있습니다. 이러한 명령 중 일부를 살펴보겠습니다. 이 예에서는 D 드라이브에 example.txt라는 파일이 있다고 가정합니다.
파일은 간단한 텍스트 파일이며 아래와 같이 2줄로 구성됩니다.
- Guru99 – .Net
- Guru99 -C#
이 예에서는 간단한 콘솔 애플리케이션을 만들고 파일 I/O 명령을 사용하여 작업합니다. 콘솔 애플리케이션은 이전 튜토리얼에서 생성된 기본 애플리케이션입니다. 콘솔 애플리케이션에서 모든 코드는 program.cs 파일에 기록됩니다.
파일이 존재
Fileexists 메소드는 특정 파일이 존재하는지 확인하는 데 사용됩니다. 이제 예제.txt 파일이 존재하는지 여부를 확인하는 데 사용할 수 있는 코드를 살펴보겠습니다. program.cs 파일에 아래 코드를 입력하세요.
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Tutorial { static void Main(string[] args) { String path = @"D:\Example.txt"; if (File.Exists(path)) { Console.WriteLine("File Exists"); } Console.ReadKey(); } } }
코드 설명:-
- 먼저, example.txt 파일의 경로를 사용하여 문자열 변수를 설정합니다.
- 다음으로 File.Exists 메서드를 사용하여 파일이 존재하는지 확인합니다. 파일이 존재하면 참값이 반환됩니다.
- 참값을 얻었고 파일이 존재한다면 콘솔에 "File Exists" 메시지를 씁니다.
위 코드를 설정하고 Visual Studio를 사용하여 프로젝트를 실행하면 아래 출력을 얻을 수 있습니다.
산출:-
위의 출력에서 File.Exists 명령이 성공적으로 실행되었고, 콘솔 창에 올바른 메시지가 표시되었음을 알 수 있습니다.
File.ReadAlllines
이 방법은 파일의 모든 줄을 하나씩 읽는 데 사용됩니다. 그런 다음 행은 문자열 배열 변수에 저장됩니다. 예를 살펴보겠습니다. program.cs 파일에 아래 코드를 입력하세요.
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Tutorial { static void Main(string[] args) { String path = @"D:\Example.txt"; String[] lines; lines = File.ReadAllLines(path); Console.WriteLine(lines[0]); Console.WriteLine(lines[1]); Console.ReadKey(); } } }
코드 설명:-
- 먼저 문자열 배열 변수를 선언합니다. 이는 File.ReadAllLines 메서드에서 반환할 결과를 저장하는 데 사용됩니다.
- 다음으로 File.ReadAllLines 메서드를 사용하여 텍스트 파일의 모든 줄을 읽습니다. 그런 다음 결과는 line 변수에 전달됩니다.
- 파일에 2줄만 포함되어 있다는 것을 알고 있으므로 행[0] 및 행[1] 명령을 통해 배열 변수의 값에 액세스할 수 있습니다.
위의 코드가 설정되고 프로젝트가 다음을 사용하여 실행되면 비주얼 스튜디오, 아래 출력을 얻게 됩니다.
산출:-
출력에서 File.ReadAllLines 명령이 예제.txt 파일의 두 줄을 모두 반환한 것을 볼 수 있습니다.
파일.ReadAllText
이 방법은 파일의 모든 줄을 한 번에 읽는 데 사용됩니다. 그런 다음 행은 문자열 변수에 저장됩니다. 예를 살펴보겠습니다. program.cs 파일에 아래 코드를 입력하세요.
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Tutorial { static void Main(string[] args) { String path = @"D:\Example.txt"; String lines; lines = File.ReadAllText(path); Console.WriteLine(lines); Console.ReadKey(); } } }
코드 설명:-
- 먼저 Lines라는 문자열 변수를 선언합니다. 이는 File.ReadAllText 메서드에서 반환할 결과를 저장하는 데 사용됩니다.
- 다음으로 File.ReadAllText 메서드를 사용하여 텍스트 파일의 모든 줄을 읽습니다. 그런 다음 결과는 line 변수에 전달됩니다.
- Console.Writeline 메서드를 직접 사용하여 Lines 변수의 값을 표시할 수 있습니다.
위의 코드를 설정하고 Visual Studio를 사용하여 프로젝트를 실행하면 아래 출력이 표시됩니다.
산출:-
출력에서 File.ReadAlltext 명령이 예제.txt 파일의 두 줄을 모두 반환한 것을 볼 수 있습니다.
파일.복사
이 메서드는 기존 파일의 복사본을 만드는 데 사용됩니다. 예를 살펴보겠습니다. program.cs 파일에 아래 코드를 입력하세요.
using System; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Tutorial { static void Main(string[] args) { String path = @"D:\Example.txt"; String copypath = @"D:\ExampleNew.txt"; File.Copy(path,copypath); Console.ReadKey(); } } }
코드 설명:-
- 먼저, path라는 문자열 변수를 선언합니다. 이는 Example.txt 파일의 위치가 됩니다. 이 파일은 복사 작업에 사용되는 소스 파일이 됩니다.
- 다음으로 copypath라는 문자열 변수를 선언합니다. 이는 exampleNew.txt 파일이라는 새 파일의 위치가 됩니다. 이는 소스 파일인 example.txt에서 내용이 기록될 대상 파일이 됩니다.
- 그런 다음 File.Copy 메서드를 호출하여 파일Example.txt 파일을 파일ExampleNew.txt에 복사합니다.
위 코드가 설정되고 Visual Studio를 사용하여 프로젝트가 실행되면 Example.txt 파일이 ExampleNew.txt로 복사됩니다.
파일.삭제
이 메소드는 기존 파일을 삭제하는 데 사용됩니다. 예를 살펴보겠습니다. program.cs 파일에 아래 코드를 입력하세요.
using System; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Tutorial { static void Main(string[] args) { String path = @"D:\Example.txt"; File.Delete(path); Console.ReadKey(); } } }
코드 설명:-
- 먼저 path라는 문자열 변수를 선언합니다. 이것이 예제.txt 파일의 위치가 됩니다. 삭제될 파일입니다.
- 다음으로 File.Delete 메서드를 호출하여 파일을 삭제합니다.
위 코드가 설정되고, Visual Studio를 사용하여 프로젝트가 실행되면 Example.txt 파일이 D 드라이브에서 삭제됩니다.
요약
- C#에는 파일에서 수행할 수 있는 여러 가지 파일 작업이 있습니다. 이러한 작업의 대부분은 File 클래스의 일부입니다.
- 파일에서 데이터를 읽으려면 File.ReadAlltext 또는 File.ReadAllLines 메서드를 사용할 수 있습니다.
파일 방법 | 상품 설명 |
---|---|
파일이 존재 | 파일 존재 방법은 특정 파일이 존재하는지 확인하는 데 사용됩니다. |
File.ReadAlllines | 이 방법은 파일의 모든 줄을 하나씩 읽는 데 사용됩니다. |
파일.ReadAllText | 이 방법은 파일의 모든 줄을 한 번에 읽는 데 사용됩니다. |
파일.복사 | 이 메서드는 기존 파일의 복사본을 만드는 데 사용됩니다. |
파일.삭제 | 이 메소드는 기존 파일을 삭제하는 데 사용됩니다. |