본문 바로가기

컴퓨터/C#

[C#] Text 파일 쓰기

0. FileStream 클래스를 이용한 방법



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
private void WriteText(string fname)
{
    string outputName = fname;
    FileStream fs = new FileStream(outputName, FileMode.Append, FileAccess.Write);
    //FileMode중 append는 이어쓰기. 파일이 없으면 만든다.
    StreamWriter sw = new StreamWriter(fs, Encoding.UTF8);
    for (int i = 0; i < list.Count; i++)
    {
        Single valX = Convert.ToSingle(list[i].X);
        Single valY = Convert.ToSingle(list[i].Y);
 
        sw.WriteLine(String.Format("{0} {1}", valX, valY));
    }
    sw.Flush();
    sw.Close();
    fs.Close();
}



주의할 점 


위의 코드에서 fs를 먼저 닫으면(Close()) 예외 발생 

반드시 sw 먼저 닫아준다.







1. StreamWriter 와 WriteLine 을 이용한 방법


1
2
3
4
5
6
7
8
9
10
11
private static void SavePtFile(string path, List<Point> pts)
{
    using (var writer = File.CreateText(path))
    {
        foreach (var pt in pts)
        {
            writer.WriteLine("{0}\t{1}", pt.X, pt.Y);
        }
        writer.Close();
    }
}
cs


 위 예제는 Point 목록을 입력받아 파일에 출력한다.

File.CreateText 함수가 StreamWriter를 반환한다.

 간단간단하다.




태그