본문 바로가기
개발 이야기/C# 이야기

C# File 클래스 파일 열기 및 쓰기

by 런던살자 2019. 6. 24.

안녕하세요 마블랑입니다.

 

이번포스팅은 아주 간단하게 할수 있는 파일 입출력입니다.

 

지난번 파일 복사, 이동, 삭제때 사용했던 클래스를 사용했던 File 클래스를 사용하면 아주 간단하게 파일을 입출력할수 있습니다.

 

 

아래와 같이 경로를 선택해주고 내용을 입력한뒤 저장버튼을 클릭하면 내용이 저장이 됩니다.

 

지금은 텍스트 파일(.txt) 파일 하나로 고정되어 있지만 응용시에 확장자를 선택하는 기능을 추가하여서 사용하시기 바랍니다.

 

저장버튼을 클릭하면 해당 위치에 텍스트 파일이 생성되고 내용이 저장됩니다.^^

 

 

 

경로를 선택할때 openfileDialog를 사용하였습니다.

 

저장을 하려고 하는것이기 때문에 파일존재여부 기능을 False로 변경하여야 합니다.

 

코드를 보겠습니다.

using System;
using System.IO;
using System.Windows.Forms;

namespace WindowsForms_Test_003_1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Bt_location_Click(object sender, EventArgs e)
        {
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                tb_Location.Text = openFileDialog1.FileName;
                if (File.Exists(openFileDialog1.FileName))
                {

                    richTextBox1.Text = File.ReadAllText(openFileDialog1.FileName);
                }
                else
                {
                    tb_Location.Text += ".txt";
                }
            }
        }

        private void Bt_save_Click(object sender, EventArgs e)
        {
            File.WriteAllText(tb_Location.Text, richTextBox1.Text);

            this.Close();
        }
    }
}

 

데이터를 입력할때 richTextBox를 이용하였는데 줄바꿈 한것도 잘 적용이 되는군요..

 

이전에 MFC에서 비슷한 기능을 구현할때 엔터가 되지않아서 직접 구현을 했던 기억이 있습니다 ㅠㅠ

 

 

파일 위치를 선택할때 해당 경로에 파일이 있으면 텍스트 파일을 불러와서 내용을 표시해 줍니다. 

 

그리고 저장 버튼을 누르면 그 파일의 내용이 수정이 되는 기능도 구현되어 있습니다. 

 

 

다른 예제들을 살펴보니 FileStream 등을 이용한 예제들이 많이 있더군요..

 

하지만 File 클래스가 내용이 더 간단한것 같아서 File클래스로 예제를 구현하였습니다.

 

물론 FileStream을 쓰는 이유가 있고 각각의 장단점이 있겠지만 아주 간단하게 구현을 하는 것은 File 클래스가 더 좋지 않을까 생각됩니다.

 

이상 마블랑이었습니다.

 

읽어주셔서 고맙습니다 ^^ 

댓글