반응형

* C# 파일 사용 가능 여부 체크 예제...

 

메인 화면

 

전체 소스 코드

Form1.cs

 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

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

        private void button1_Click(object sender, EventArgs e)
        {
            //파일 선택...
            OpenFileDialog ofd = new OpenFileDialog();

            if (ofd.ShowDialog() == DialogResult.OK)
            {
                //선택된 파일 표시...
                label1.Text = ofd.FileName;
            }

        }

        private void button2_Click(object sender, EventArgs e)
        {
            //파일 사용 유무...
            string strErr = "";


            if (FileIsUse(label1.Text, ref strErr))
            {
                label2.Text = "사용 가능한 파일 입니다.";
            }
            else
            {
                label2.Text = "파일 사용중.., " + strErr ;
            }


        }

        private bool FileIsUse(string strFilePath, ref string strErr)
        {

            try
            {
                using (System.IO.FileStream fs = new System.IO.FileStream(strFilePath, 
                                                                          System.IO.FileMode.Open, 
                                                                          System.IO.FileAccess.Read, 
                                                                          System.IO.FileShare.Read))
                {
                    //파일 닫기...
                    fs.Close();
                }
            }
            catch (Exception ex)
            {
                strErr = ex.Message.ToString();
                return false;
            }


            return true;
        }

    }
}

 

* 예제 결과

 

 

반응형

+ Recent posts