C#의 파일 처리: I/O Opera사항 [예시]

⚡ 스마트 요약

C# 파일 작업은 System.IO 네임스페이스를 사용하여 파일을 읽고, 쓰고, 복사하고, 삭제할 수 있도록 해줍니다. 이 문서에서는 File.Exists, File.ReadAllLines, File.ReadAllText, File.Copy, File.Delete 메서드를 명확한 코드 예제와 함께 사용하는 방법을 배우게 됩니다.

  • 📂 무엇이다 : C# 파일 작업은 System.IO 네임스페이스를 통해 파일을 읽고, 쓰고, 복사하고, 삭제할 수 있습니다.
  • 파일이 존재합니다: File.Exists(path)는 파일을 읽거나 삭제하기 전에 파일이 존재하는지 확인합니다.
  • ???? 독서: File.ReadAllLines는 문자열 배열을 반환하는 반면, File.ReadAllText는 파일 전체를 하나의 문자열로 반환합니다.
  • 📋 복사 후 삭제: File.Copy는 파일을 새 경로로 복제하고 File.Delete는 파일을 삭제합니다.
  • 🤖 AI 도움말: GitHub Copilot과 같은 AI 도구는 C# 파일 처리 코드를 즉시 생성합니다.

C# 파일 OperaTIONS

C#에는 다양한 파일 작업이 있습니다. 이러한 작업에는 파일 열기, 파일 읽기 또는 쓰기가 포함됩니다. 파일을 직접 작업하려는 경우가 있을 수 있으며, 이 경우 C#에서 사용 가능한 파일 작업을 사용합니다. 몇 가지 기본 파일 작업은 아래에 나와 있습니다.

  1. 읽기 – 이 작업은 파일에서 데이터를 읽는 기본적인 읽기 작업입니다.
  2. 쓰기 - 이 작업은 데이터가 파일에 쓰여지는 기본 쓰기 작업입니다. 기본적으로 모든 기존 내용이 파일에서 제거되고 새 내용이 쓰여집니다.
  3. 추가 - 이 작업에는 파일에 정보를 쓰는 것도 포함됩니다. 유일한 차이점은 파일에 있는 기존 데이터가 덮어쓰이지 않는다는 것입니다. 쓸 새 데이터는 파일 끝에 추가됩니다.

기본 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();
  }
 }
}

Code 설명:-

  1. 먼저, example.txt 파일의 경로를 사용하여 문자열 변수를 설정합니다.
  2. 다음으로 File.Exists 메서드를 사용하여 파일이 존재하는지 확인합니다. 파일이 존재하면 참값이 반환됩니다.
  3. 참값을 얻었고 파일이 존재한다면 콘솔에 "File Exists" 메시지를 씁니다.

위 코드를 설정하고 Visual Studio를 사용하여 프로젝트를 실행하면 아래 출력을 얻을 수 있습니다.

산출:-

파일이 존재

위의 출력에서 ​​File.Exists 명령이 성공적으로 실행되었고, 콘솔 창에 올바른 메시지가 표시되었음을 알 수 있습니다.

File.ReadAlllines

이 방법은 파일의 모든 줄을 하나씩 읽는 데 사용됩니다. 그런 다음 행은 문자열 배열 변수에 저장됩니다. 예를 살펴보겠습니다. program.cs 파일에 아래 코드를 입력하세요.

File.ReadAlllines

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();
  }
 }
}

Code 설명:-

  1. 먼저 문자열 배열 변수를 선언합니다. 이는 File.ReadAllLines 메서드에서 반환할 결과를 저장하는 데 사용됩니다.
  2. 다음으로 File.ReadAllLines 메서드를 사용하여 텍스트 파일의 모든 줄을 읽습니다. 그런 다음 결과는 line 변수에 전달됩니다.
  3. 파일에 2줄만 포함되어 있다는 것을 알고 있으므로 행[0] 및 행[1] 명령을 통해 배열 변수의 값에 액세스할 수 있습니다.

위의 코드가 설정되고 프로젝트가 다음을 사용하여 실행되면 비주얼 스튜디오, 아래 출력을 얻게 됩니다.

산출:-

File.ReadAlllines

출력에서 File.ReadAllLines 명령이 예제.txt 파일의 두 줄을 모두 반환한 것을 볼 수 있습니다.

파일.ReadAllText

이 방법은 파일의 모든 줄을 한 번에 읽는 데 사용됩니다. 그런 다음 행은 문자열 변수에 저장됩니다. 예를 살펴보겠습니다. program.cs 파일에 아래 코드를 입력하세요.

파일.ReadAllText

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();
   }
  }
}

Code 설명:-

  1. 먼저 Lines라는 문자열 변수를 선언합니다. 이는 File.ReadAllText 메서드에서 반환할 결과를 저장하는 데 사용됩니다.
  2. 다음으로 File.ReadAllText 메서드를 사용하여 텍스트 파일의 모든 줄을 읽습니다. 그런 다음 결과는 line 변수에 전달됩니다.
  3. Console.Writeline 메서드를 직접 사용하여 Lines 변수의 값을 표시할 수 있습니다.

위의 코드를 설정하고 Visual Studio를 사용하여 프로젝트를 실행하면 아래 출력이 표시됩니다.

산출:-

파일.ReadAllText

출력에서 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();
   }
  }
}

Code 설명:-

  1. 먼저, path라는 문자열 변수를 선언합니다. 이는 Example.txt 파일의 위치가 됩니다. 이 파일은 복사 작업에 사용되는 소스 파일이 됩니다.
  2. 다음으로 copypath라는 문자열 변수를 선언합니다. 이는 exampleNew.txt 파일이라는 새 파일의 위치가 됩니다. 이는 소스 파일인 example.txt에서 내용이 기록될 대상 파일이 됩니다.
  3. 그런 다음 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();
   }
  }
}

Code 설명:-

  1. 먼저 path라는 문자열 변수를 선언합니다. 이것이 예제.txt 파일의 위치가 됩니다. 삭제될 파일입니다.
  2. 다음으로 File.Delete 메서드를 호출하여 파일을 삭제합니다.

위 코드가 설정되고, Visual Studio를 사용하여 프로젝트가 실행되면 Example.txt 파일이 D 드라이브에서 삭제됩니다.

C# 파일 메서드 참조

아래 표는 주요 C# 파일 메서드와 각 메서드의 기능을 요약한 것입니다.

파일 방법 기술설명
파일이 존재 파일 존재 방법은 특정 파일이 존재하는지 확인하는 데 사용됩니다.
File.ReadAlllines 이 방법은 파일의 모든 줄을 하나씩 읽는 데 사용됩니다.
파일.ReadAllText 이 방법은 파일의 모든 줄을 한 번에 읽는 데 사용됩니다.
파일.복사 이 메서드는 기존 파일의 복사본을 만드는 데 사용됩니다.
파일.삭제 이 메소드는 기존 파일을 삭제하는 데 사용됩니다.

자주 묻는 질문

C# 파일 작업을 통해 파일을 읽고, 쓰고, 복사하고, 추가하고, 삭제할 수 있습니다. 대부분의 메서드는 System.IO.File 클래스에 속하며, File.Exists, File.ReadAllText, File.Copy, File.Delete 등이 있습니다.

파일이 존재하면 true를, 그렇지 않으면 false를 반환하는 `File.Exists(path)`를 사용하세요. 런타임 예외를 방지하려면 파일을 읽거나 삭제하기 전에 이 메서드를 확인하십시오.

File.ReadAllLines는 각 줄을 문자열 배열의 요소로 반환하는 반면, File.ReadAllText는 파일 전체 내용을 단일 문자열로 반환합니다.

File.Copy(sourcePath, destinationPath)를 호출하세요. 그러면 소스 파일의 내용이 포함된 새 파일이 대상 경로에 생성됩니다.

File.Delete(path)를 호출하세요. 이 메서드는 파일을 영구적으로 삭제하므로 FileNotFoundException 예외를 방지하려면 먼저 File.Exists를 사용하여 파일이 존재하는지 확인해야 합니다.

GitHub Copilot과 같은 AI 비서는 File.ReadAllText, File.Copy 및 File.Delete 호출을 자동 완성하고 작업에 대한 간단한 설명 주석에서 try-catch 구문을 사용한 파일 처리 코드를 생성합니다.

예. AI 기반 도구는 읽기 및 쓰기 메서드를 생성하고, StreamReader 또는 File 메서드를 제안하며, 예외 처리를 추가하여 코드를 더욱 안전하게 만듭니다.

프로그램 맨 위에 `using System.IO;`를 추가하세요. System.IO 네임스페이스에는 File, StreamReader 및 Stream 클래스가 포함되어 있습니다.Writer 파일 처리에 사용되는 클래스입니다.

이 게시물을 요약하면 다음과 같습니다.