C# 프로그램에서 텍스트 파일을 읽어서 처리해야 할 작업들이 가끔 생깁니다.
텍스트를 읽는 방법은 여러가지 있을 수 있습니다. 한번에 읽어서 처리하는 방법, 한번에 한 줄씩 읽으면서 처리하는 방법 그리고 배열로 읽어서 처리하는 방법 등으로 읽고 처리할 수 있습니다.
이전 글에서는 C#에서 텍스트 파일을 만들고, 텍스트를 쓰고 추가하는 방법에 대해 몇 가지를 알아보았습니다.
(C#에서 파일을 생성하고 텍스트를 쓰기(Write)와 추가(Append) 하는 방법)
이번 글에서는 C#에서 텍스트 파일을 읽고 처리하는 3가지 방법(ReadAllText, ReadAllLines, ReadLines)에 대해 알아보겠습니다.
프로그램이 실행되는 각각의 상황에 맞는 적당한 방법으로 로직을 구현하면 됩니다.
C#에서 텍스트 파일을 한번에 읽기- ReadAllText
▼ 아래 로직은 C#에서 ReadAllText를 사용하여 텍스트 파일을 한번에 읽어오는 방법입니다.
C# 프로그램에서 가장 일반적으로 많이 사용하는 텍스트 파일 읽기 로직 입니다.
//파일에 있는 텍스트를 모두 한번에 읽음
var text = File.ReadAllText(“C:\\Temp\\jujun2.txt”);
Console.WriteLine(text);
|
C#에서 텍스트 파일의 행을 배열로 읽기 – ReadAllLines
▼ 아래 로직은 C#에서 ReadAllLines를 사용하여 텍스트 파일의 행을 배열로 채워서 읽는 방법입니다.
배열로 처리하면 여러가지 효과를 볼 수 있습니다. 특정 행으로 바로 엑서스가 가능해지기 때문입니다.
예를 들어 홀수 행은 번호, 짝수 행은 이름으로 정의된 텍스트 파일이 있다고 했을 때 홀수 행 만으로 번호를 처리하고, 짝수 행 만으로 이름을 처리하는 등의 작업을 쉽게 할 수 있게 됩니다.
//파일에 있는 텍스트 행을 배열로 읽음
string[] lines = File.ReadAllLines(“C:\\Temp\\jujun2.txt”);
//배열을 한 행씩 처리함
foreach (var line in lines)
{
Console.WriteLine(line);
}
|
C#에서 텍스트 파일의 행을 한줄씩 읽기 – ReadLines
▼ 아래 로직은 C#에서 ReadLines를 사용하여 텍스트 파일을 한 행씩 읽으면서 처리하는 구문입니다.
행이 많은 텍스트 파일은 아래와 같이 한 행씩 처리하는 것을 권하지 않습니다. 앞의 배열 방식으로 처리하는 것을 권장합니다.
한 행씩 처리할 때의 효과는 행이 그다지 많지 않고, 조건문(IF)을 사용하여 행의 텍스트를 검증하는 로직을 사용할 때 효과적입니다. 물론 배열로 읽은 다음 배열을 반복문(LOOP)으로 돌리면서 처리해도 같은 효과를 얻을 수 있습니다.
//파일의 행을 한줄씩 읽으면서 처리함
foreach (var line in File.ReadLines(“C:\\Temp\\jujun2.txt”))
{
Console.WriteLine(line);
}
|
※ 이상으로 C# 프로그램에서 텍스트 파일을 읽는 3가지 방법에 대해 알아보았습니다.
※ 함께 읽으면 도움이 될 만한 다른 포스팅 글입니다.
이 글이 도움이 되었기를 바랍니다. ^-^