반응형

* 파일 복사 예제

 

메인 화면

전체 소스 코드

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_FileCopy
{
    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)
            {
                label3.Text = ofd.FileName;
            }

        }

        private void button2_Click(object sender, EventArgs e)
        {
            string strDestFolder = "C:\\FileCopy\\DEST1";
            System.IO.FileInfo fi = new System.IO.FileInfo(label3.Text);
            //fi.Name = > 파일이름 가져 오기 즉 복사할려는 폴더안에 원본 파일 이름과 같이 복사...

            System.IO.File.Copy(label3.Text, strDestFolder + "\\" + fi.Name);
            label4.Text = strDestFolder + "\\" + fi.Name + "  복사 완료";
 
        }

//==============================================================================================================================================
        //두번째 방법
        private void button3_Click(object sender, EventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();

            if (ofd.ShowDialog() == DialogResult.OK)
            {
                label5.Text = ofd.FileName;
            }
        }

        private void button4_Click(object sender, EventArgs e)
        {
            string strDestFolder = "C:\\FileCopy\\DEST2";
            System.IO.FileInfo fi = new System.IO.FileInfo(label5.Text);
			
            //버퍼 크기 
            int iBufferSize = 1024;
            long lSize = 0;
            //총 파일 크기 얻기
            long lTotalSize = fi.Length;
            //버퍼 크기만큼 바이트 배열 선언
            byte[] bTmp = new byte[iBufferSize];

            //프로그래스바 셋팅
            pbValue.Minimum = 0;
            pbValue.Maximum = (int)lTotalSize;

            System.IO.FileStream fsRead = new System.IO.FileStream(label5.Text, System.IO.FileMode.Open);
            System.IO.FileStream fsWrite = new System.IO.FileStream(strDestFolder + "\\" + fi.Name, System.IO.FileMode.Create );

            while (lSize < lTotalSize)
            {
                int iLen = fsRead.Read(bTmp, 0, bTmp.Length);
                lSize += iLen;
                fsWrite.Write(bTmp, 0, iLen);

                //진행 상태
                pbValue.Value = (int)lSize;
            }

            //파일 연결 해제...
            pbValue.Value  = pbValue.Maximum  ;
            fsWrite.Flush();
            fsWrite.Close();
            fsRead.Close();

            label7.Text = strDestFolder + "\\" + fi.Name + "  복사 완료";

        }
    }
}

 

* 첫번째 방법 부분 소스 코드 및 결과

 

 

* 두번째 방법 부분 소스 코드 및 결과

 

프로그래바 구현으로 진행 상태 까지 나타내기

 

 

 

[C#] 폴더 및 파일, 드라이브 사이즈 (Size) 구하기

 

[C#] 폴더 및 파일, 드라이브 사이즈 (Size) 구하기

* 폴더 및 파일, 드라이브 목록 및 사이즈 구하기 예제 File Open 버튼 : 파일 대화 상자가 뜨게 되며, 해당 파일 선택 시 위 그림과 같이 파일의 위치 와 사이즈가 표시 됩니다. 다만 사이즈 표시는 기본 Byte..

kdsoft-zeros.tistory.com

 

[C#] File Create & Delete & Read & Write 예제

 

[C#] File Create & Delete & Read & Write 예제

* 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.Wind..

kdsoft-zeros.tistory.com

 

반응형

+ Recent posts