C#

C# 텍스트 파일 읽기 (한글 깨짐)

기공이 2016. 12. 1. 11:16

C#에서 txt파일을 읽어오는 방법입니다. 



ReadAllLines 는 \n 을 기준으로 한 줄씩 불러오는 것이며, 이는 각각 string배열의 원소로 들어갑니다.


ReadAllText 는 txt파일을 한번에 string 형으로 불러오는 것입니다.



이 둘은 호출하는 법이 같고, 반환형만 다르기 때문에 하나를 기준으로 설명해 드리겠습니다.


ReadAllLines(파일 경로); 가 호출하는 기본적인 방법입니다. 


허나 이 방법으로 호출하면 한글이 깨지는 일이 발생하기도 하는데요, 그럴 때는 Encoding 방식을 정해주어야 합니다.


ReadAllLines(파일 경로, Encoding.~); 이 Encoding 방식을 정해주는 방법입니다.


한글이 깨질 때에는 Encoding.Default로 설정해 주시면 됩니다.


※ AppDomain.CurrentDomain.BaseDirectory 는 실행파일이 있는 절대경로 입니다.



private void ReadPeopleName()

{

string[] lines = System.IO.File.ReadAllLines(AppDomain.CurrentDomain.BaseDirectory + "test.txt", Encoding.Default);

// string array


foreach (string temp in lines)

{

System.Console.WriteLine(temp);

}


/*

string text = System.IO.File.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + "test.txt", Encoding.Default);

// string


System.Console.WriteLine(text);

*/

}



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
private void ReadPeopleName()
{
    string[] lines = System.IO.File.ReadAllLines(AppDomain.CurrentDomain.BaseDirectory + "test.txt", Encoding.Default);
    // string array
    foreach (string temp in lines)
    {
        System.Console.WriteLine(temp);
    }
 
    /*
    string text = System.IO.File.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + "test.txt", Encoding.Default);
    // string
    System.Console.WriteLine(text);
    */
 
}
cs