반응형

* 안드로이드 Button 컨트롤...

 

안드로이드 스튜디오 -> 왼쪽 상단 File 메뉴 -> New... -> New Project...

 

안드로이드 API 버전 선택... 

 

Finish 버튼을 클릭 하여 새로운 프로젝트를 만들어 줍니다.

 

 

MainActivity.java

package com.example.administrator.buttonex;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;


public class MainActivity extends AppCompatActivity {

    Button bt1 ;
    Button bt2;
    Button bt3;
    Button bt4;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //화면 디자인에 그려 놓은 버튼 ID 랑 연결 시키기...
        bt1 = (Button)findViewById(R.id.button);
        bt2 = (Button)findViewById(R.id.button2);
        bt3 = (Button)findViewById(R.id.button3);
        bt4 = (Button)findViewById(R.id.button4);


        //버튼 이벤트 연결...
        bt1.setOnClickListener(btnListner);
        bt2.setOnClickListener(btnListner);
        bt3.setOnClickListener(btnListner);
        bt4.setOnClickListener(btnListner);
    }

    Button.OnClickListener btnListner = new Button.OnClickListener(){
        public void onClick(View v)
        {

            switch(v.getId()){
                case R.id.button :
                {
                    Toast.makeText(getApplicationContext(),"Button 1 을 클릭 하였습니다.",Toast.LENGTH_SHORT).show();
                    break;
                }
                case R.id.button2 :
                {
                    Toast.makeText(getApplicationContext(),"Button 2 을 클릭 하였습니다.",Toast.LENGTH_SHORT).show();
                    break;
                }
                case R.id.button3:
                {
                    Toast.makeText(getApplicationContext(),"Button 3 을 클릭 하였습니다.",Toast.LENGTH_SHORT).show();
                    break;
                }
                case R.id.button4:
                {
                    Toast.makeText(getApplicationContext(),"Button 4 을 클릭 하였습니다.",Toast.LENGTH_SHORT).show();
                    break;
                }
            }
        }
    };

}

 

*예제 결과

 

반응형
반응형

* VBNET 로그 파일 작성 예제...

 

메인 화면

 

위 그림과 같이 리스트뷰 Columns 붉은 테두리 안에 있는 ... 버튼을 클릭하여 ColumnHeader 컬렉션 편집기를 

열어 멤버를 추가 해 줍니다.

첫번째 열은 No. 에 해당하며 Log 갯수를 표시 할 Column

두번째 열은 로그 내용에 해당하며 로그 파일안에 내용을 표시할 Column

 

전체 소스 코드

Form1.vb

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        listView1.View = View.Details
        listView1.FullRowSelect = True
        listView1.GridLines = True

        '2. 로그 남기기...
        Log_Info("Log 프로그램 예제를 시작 합니다.")
    End Sub

    Private Sub Form1_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
        '2. 로그 남기기...
        Log_Info("Log 프로그램 예제를 종료 합니다.")
    End Sub

    Private Sub button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button1.Click
        '2. 로그 남기기...
        Log_Info("로그 남기기 버튼을 클릭 하였습니다.")
    End Sub

    Private Sub button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button2.Click
        Dim strLocalPath As String = Application.ExecutablePath.Substring(0, Application.ExecutablePath.LastIndexOf("\"))

        Dim ofd As OpenFileDialog = New OpenFileDialog()
        '텍스트 파일만 불러오기...
        ofd.Filter = "TXT 파일(*.txt) | *.txt"
        '파일대화상자 시작시 기본 폴더 지정으로 지정된 폴더로 바로 띄우기
        ofd.InitialDirectory = strLocalPath + "\\Log"

        If ofd.ShowDialog() = Windows.Forms.DialogResult.OK Then

            listView1.Items.Clear()
            Dim strFile As String = ""
            strFile = ofd.FileName
            '파일 체크... 
            If Not System.IO.File.Exists(strFile) Then
                MessageBox.Show("해당 파일이 없거나 선택된 파일이 없습니다.", "확 인", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
                Return

            Else
                Dim strValue() As String = System.IO.File.ReadAllLines(strFile)

                For iCount As Integer = 0 To strValue.Length - 1
                    Dim lvi As ListViewItem = New ListViewItem

                    lvi.Text = (iCount + 1).ToString()
                    lvi.SubItems.Add(strValue(iCount))
                    listView1.Items.Add(lvi)

                Next

            End If

        End If
    End Sub

    '1. 로그 함수 작성...
    Private Function Log_Info(ByVal strMsg As String) As Boolean

        Try

            Dim strCheckFolder As String = ""
            Dim strFileName As String = ""

            '현재 EXE 파일가 위치 하고 있는 폴더를 가져옴.
            strCheckFolder = Application.ExecutablePath.Substring(0, Application.ExecutablePath.LastIndexOf("\"))
            strCheckFolder += "\Log"
            '로그 폴더가 없으면 생성 
            If (FileSystem.Dir(strCheckFolder, FileAttribute.Directory) = "") Then

                System.IO.Directory.CreateDirectory(strCheckFolder)

            End If

            strFileName = strCheckFolder + "\\" + DateAndTime.Now.ToString("yyyyMMdd") + ".txt"

            Dim FileWriter As System.IO.StreamWriter = New System.IO.StreamWriter(strFileName, True)
            FileWriter.Write(DateAndTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " => " + strMsg + vbCrLf)
            FileWriter.Flush()
            FileWriter.Close()

        Catch ex As Exception
            Log_Info = False
        End Try

        Log_Info = True

    End Function

    
    
    
End Class

* 예제 결과

 

결과 화면

[C#] Log File - 로그 작성 예제

 

[C#] Log File - 로그 작성 예제

* 로그 파일 남기기 예제 ... 위 그림과 같이 리스트뷰 Columns 붉은 테두리 안에 있는 ... 버튼을 클릭하여 ColumnHeader 컬렉션 편집기를 열어 멤버를 추가 해 줍니다. 첫번째 열은 No. 에 해당하며 Log 갯수를..

kdsoft-zeros.tistory.com


https://kdsoft-zeros.tistory.com/34?category=846222 [삽질하는 개발자...]

 

[VBNET] File Create Delete Read Write Ex

* VBNET 파일 예제 Form1.vb Public Class Form1 Dim strCheckFolder As String = "" Dim strFileName As String = "Test.txt" Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventA..

kdsoft-zeros.tistory.com

 

반응형
반응형

* 로그 파일 남기기 예제 ...

 

메인화면

위 그림과 같이 리스트뷰 Columns 붉은 테두리 안에 있는 ... 버튼을 클릭하여 ColumnHeader 컬렉션 편집기를 

열어 멤버를 추가 해 줍니다.

첫번째 열은 No. 에 해당하며 Log 갯수를 표시 할 Column

두번째 열은 로그 내용에 해당하며 로그 파일안에 내용을 표시할 Column

 

전체 소스 코드

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_Log
{
    public partial class Form1 : Form
    {
       
        public Form1()
        {
            InitializeComponent();

            listView1.View = View.Details;
            listView1.FullRowSelect = true;
            listView1.GridLines = true;

            //2. 로그 남기기...
            Log_Info("Log 프로그램 예제를 시작 합니다.");
        }
        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            //2. 로그 남기기...
            Log_Info("Log 프로그램 예제를 종료 합니다."); 
        }

        //1. 로그 함수 작성...
        public  bool Log_Info(string strMsg)
        {
            try
            {

                string strCheckFolder = "";
                string strFileName = "";
                //현재 EXE 파일가 위치 하고 있는 폴더를 가져옴.
                string strLocal = Application.ExecutablePath.Substring(0, Application.ExecutablePath.LastIndexOf("\\"));

                //로그 폴더가 없으면 생성 
                strCheckFolder = strLocal + "\\Log";
                if (!System.IO.Directory.Exists(strCheckFolder))
                {
                    System.IO.Directory.CreateDirectory(strCheckFolder);
                }


                strFileName = strCheckFolder + "\\" + DateTime.Now.ToString("yyyyMMdd") + ".txt";

                System.IO.StreamWriter FileWriter = new System.IO.StreamWriter(strFileName, true);
                FileWriter.Write(DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + " => " + strMsg + "\r\n");
                FileWriter.Flush();
                FileWriter.Close();
            }
            catch 
            {
                return false;
            }

            return true;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //2. 로그 남기기...
            Log_Info("로그 남기기 버튼을 클릭 하였습니다.");
        }

        private void button2_Click(object sender, EventArgs e)
        {
             string strLocal = Application.ExecutablePath.Substring(0, Application.ExecutablePath.LastIndexOf("\\"));

            OpenFileDialog ofd = new OpenFileDialog();
            //텍스트 파일만 불러오기...
            ofd.Filter = "TXT 파일(*.txt) | *.txt";
            //파일대화상자 시작시 기본 폴더 지정으로 지정된 폴더로 바로 띄우기
            ofd.InitialDirectory = strLocal + "\\Log";

            if (ofd.ShowDialog() == DialogResult.OK)
            {
                listView1.Items.Clear();

                string strFileName = "";
                strFileName = ofd.FileName;
                
                if (!System.IO.File.Exists(strFileName))
                {
                    MessageBox.Show("해당 파일이 없거나 선택된 파일이 없습니다.", "확 인", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    return;
                }
                else
                {
                    
                    string[] strValue =System.IO. File.ReadAllLines(strFileName);

                    for (int iCount = 0; iCount < strValue.Length; iCount++)
                    {
                        ListViewItem lvi = new ListViewItem();
                        lvi.Text = (iCount + 1).ToString();
                        lvi.SubItems.Add(strValue[iCount]);

                        listView1.Items.Add(lvi);
                    }
                    
                }
            }

        }
    }
}

* 예제 결과

 

결과 화면

 

 

 

[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

 

반응형
반응형

* 폴더 및 파일 감시 예제...

 

메인화면

전체 소스 코드

Form1.vb

 

Public Class Form1

    Dim fsw As IO.FileSystemWatcher


    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        fsw = New IO.FileSystemWatcher

        'VBNET 소스 코드 상에서 이벤트 등록...
        AddHandler fsw.Created, AddressOf fileSystemWatcher_Created
        AddHandler fsw.Deleted, AddressOf fileSystemWatcher_Deleted
        AddHandler fsw.Renamed, AddressOf fileSystemWatcher_Renamed
        AddHandler fsw.Changed, AddressOf fileSystemWatcher_Changed

        '크로스 스레드 예외 처리...
        CheckForIllegalCrossThreadCalls = False

    End Sub

    Private Sub button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button2.Click
        Dim fbd As FolderBrowserDialog = New FolderBrowserDialog

        If (fbd.ShowDialog() = Windows.Forms.DialogResult.OK) Then
            fsw.Path = fbd.SelectedPath
            label3.Text = fbd.SelectedPath
            '모든 파일 감시 ...
            'Ex) *.txt 모든 텍스트 파일 감시...
            fsw.Filter = "*.*"
            fsw.NotifyFilter = IO.NotifyFilters.DirectoryName Or IO.NotifyFilters.Size Or IO.NotifyFilters.FileName
            fsw.EnableRaisingEvents = True
        End If

    End Sub

    Private Sub fileSystemWatcher_Created(ByVal o As Object, ByVal e As IO.FileSystemEventArgs)

        '파일 및 폴더가 생성 되면 이벤트 발생...
        label5.Text = e.FullPath + ", " + e.Name + " Create Complete."
    End Sub

    Private Sub fileSystemWatcher_Deleted(ByVal o As Object, ByVal e As IO.FileSystemEventArgs)

        '파일 및 폴더가 삭제 되면 이벤트 발생...
        label5.Text = e.FullPath + ", " + e.Name + " Delete Complete."
    End Sub

    Private Sub fileSystemWatcher_Renamed(ByVal o As Object, ByVal e As IO.FileSystemEventArgs)

        '파일 및 폴더가 이름이 바뀌게 되면 이벤트 발생...
        label5.Text = e.FullPath + ", " + e.Name + " Change Complete"

    End Sub

    Private Sub fileSystemWatcher_Changed(ByVal o As Object, ByVal e As IO.FileSystemEventArgs)

        label5.Text = e.FullPath + ", " + e.Name + " Change Complete"

    End Sub

End Class

 

* 예제 결과

- 파일 크기가 변경 되거나 수정 되었을 경우

 

위와 같이 txt 파일이 7kb 이며 안에 내용이 수정 되었을 때 이벤트 발생

 

- 폴더가 생성 되거나 삭제 되었을 경우



* ↓↓↓ 아래의 C# 예제는 소스 코드 이벤트 등록이 아닌 컨트롤 사용 하는 방법

 

[C#] 파일 및 폴더 감시 (FileSystemWatcher)

 

[C#] 파일 및 폴더 감시 (FileSystemWatcher)

* 파일 및 폴더 감시 예제... Form1.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; usin..

kdsoft-zeros.tistory.com

 

 

[VBNET] 크로스 스레드 (Cross Thread) 예제

 

[VBNET] 크로스 스레드 (Cross Thread) 예제

* 크로스 스레드 - 자신의 스레드가 아닌 다른 스레드가 그 컨트롤에 접근 했을 때 나는 오류 *해결 방법 예제 Form1.vb Public Class Form1 ' 스레드의 동작을 제어하는 메서드 ' Abort():강제 종료 ' Interrup..

kdsoft-zeros.tistory.com

 

반응형
반응형

스튜디오가 설치를 완료 하였다면 스튜디오를 열어 줍니다.

위 상단 메뉴에서 Tools -> SDK Manager 를 클릭 합니다.

 

왼쪽 메뉴에서 Android SDK 를 클릭 하면 오른쪽 화면에 위와 같이 나오게 됩니다.

Android SDK Location 은 스튜디오가 설치 될때 Default 폴더로 했기 때문에 위와 같이 나오게 되며, 혹 

SDK 설치 폴더가 다를 경우 Edit 클릭 하여 Android SDK 가 설치된 폴더로 지정 해 주시면 됩니다.

 

위 그림과 같이 탭컨트롤 SDK Platforms 를 선택 하시면 Android API 들이 표시 되게 됩니다.

여기서 개발을 API 버전을 선택 하시게 되기에 개발 하고 싶은 버전을 인스톨 해주시면 됩니다.

저 같은 경우는 롤리팝 버전으로 Android 5.1 과 Android 5.0 을 같이 설치 했으며 붉은 테두리 에

보시는 거와 같이 Show Package Details 를 체크 하시면 아래과 같이 상세히 볼 수 있습니다.

 

각자 개발 하고 싶으신 버전을 고르신 후 오른쪽 하단 Apply 버튼을 클릭 하시면 업데이트 및 인스톨이 됩니다.

API 설정이 끝이 났으면 다시 처음으로 돌아 와서 상단 메뉴에 Tools -> AVD Manager 를 클릭 하여 가상 디바이스를

잡아 줍니다.

왼쪽 하단에 Create Virtual Device 버튼 클릭

 

위와 같이 가상 디바이스(가상 휴대폰) 완료 하였다면 아래의 그림과 같이 표시가 되는데

오른쪽 Action 에서 붉은 테두리 안에 있는 Play 버튼을 클릭 합니다.

 

 

반응형
반응형

* 파일 및 폴더 감시 예제...

 

메인화면

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;

//FileSystemWatcher Filter 를 쓰기 위해 선언...
using System.IO;

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

        private void button2_Click(object sender, EventArgs e)
        {
            //폴더 및 모든 파일 감시....
            FolderBrowserDialog fbd = new FolderBrowserDialog();

            if (fbd.ShowDialog() == DialogResult.OK)
            {
                fileSystemWatcher1.Path = fbd.SelectedPath;
                label3.Text = fbd.SelectedPath;
                //모든 파일 감시 ...
                //Ex) *.txt 모든 텍스트 파일 감시...
                fileSystemWatcher1.Filter = "*.*";
                fileSystemWatcher1.NotifyFilter = NotifyFilters.DirectoryName | NotifyFilters.Size | NotifyFilters.FileName;
                
            }
        }


        private void fileSystemWatcher1_Created(object sender, FileSystemEventArgs e)
        {
            //파일 및 폴더가 생성 되면 이벤트 발생...
            label5.Text = e.FullPath + ", " + e.Name + " Create Complete.";
        }

        private void fileSystemWatcher1_Deleted(object sender, FileSystemEventArgs e)
        {
            //파일 및 폴더가 삭제 되면 이벤트 발생...
            label5.Text = e.FullPath + ", " + e.Name + " Delete Complete.";
        }

        private void fileSystemWatcher1_Renamed(object sender, RenamedEventArgs e)
        {
            //파일 및 폴더가 이름이 바뀌게 되면 이벤트 발생...
            label5.Text = e.FullPath + ", " + e.Name + " Change Complete";
        }

        private void fileSystemWatcher1_Changed(object sender, FileSystemEventArgs e)
        {
            label5.Text = e.FullPath + ", " + e.Name + " Change Complete";
        }
      
    }
}

 

* 예제 결과

 - 파일 크기가 변경 되거나 수정 되었을 경우

 

위와 같이 txt 파일이 7kb 이며 안에 내용이 수정 되었을 때 이벤트 발생

 

 - 폴더가 생성 되거나 삭제 되었을 경우

 

반응형

'C# Programming' 카테고리의 다른 글

[C#] File CheckSum 예제 (MD5 Checksum)  (0) 2019.10.16
[C#] Log File - 로그 작성 예제  (0) 2019.10.14
[C#] File Copy (파일 복사 예제)  (0) 2019.10.08
[C#] 프로그램 중복 실행 방지  (0) 2019.10.06
[C#] Delay 함수  (0) 2019.10.04
반응형

* VBNET 파일 복사 예제...

 

메인화면

전체 소스 코드

Form1.vb

 

Public Class Form1

    '첫번째 방법...
    Private Sub button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button1.Click
        Dim ofd As OpenFileDialog = New OpenFileDialog()

        If (ofd.ShowDialog() = Windows.Forms.DialogResult.OK) Then
            label3.Text = ofd.FileName
        End If

    End Sub

    Private Sub button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button2.Click
        Dim strDestFolder As String = "C:\FileCopy\DEST1"
        Dim fi As System.IO.FileInfo = New System.IO.FileInfo(label3.Text)

        'fi.Name => 파일 이름 가져오기 즉 복사 할려는 폴더안에 원본 파일 이름과 같은 이름으로 복사 하기 위해...
        System.IO.File.Copy(label3.Text, strDestFolder + "\" + fi.Name)
        label4.Text = strDestFolder + "\" + fi.Name + " 복사 완료"

    End Sub
    '=================================================================================================================
    Private Sub button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button3.Click
        Dim ofd As OpenFileDialog = New OpenFileDialog()

        If (ofd.ShowDialog() = Windows.Forms.DialogResult.OK) Then
            label5.Text = ofd.FileName
        End If
    End Sub

    Private Sub button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button4.Click
        Dim strDestFolder As String = "C:\FileCopy\DEST2"
        Dim fi As System.IO.FileInfo = New System.IO.FileInfo(label5.Text)

        '버퍼 크기...
        Dim iBufferSize As Integer = 1024
        Dim lSize As Long = 0
        '파일 전체 크기...
        Dim lTotalSize As Long = fi.Length

        '버퍼 사이즈 만큼 바이트 배열 선언
        Dim bTmp(iBufferSize) As Byte

        pbValue.Minimum = 0
        pbValue.Maximum = Convert.ToInt32(lTotalSize)

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

        While (lSize < lTotalSize)

            Dim iLen As Integer = fsRead.Read(bTmp, 0, bTmp.Length)
            lSize += iLen
            fsWrite.Write(bTmp, 0, iLen)

            '진행 상태
            pbValue.Value = Convert.ToInt32(lSize)

        End While

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

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

    End Sub
End Class

* 첫번째 방법

 

 

* 두번째 방법

 

 

 

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

 

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

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

kdsoft-zeros.tistory.com

[VBNET] File Create Delete Read Write Ex

 

[VBNET] File Create Delete Read Write Ex

* VBNET 파일 예제 Form1.vb Public Class Form1 Dim strCheckFolder As String = "" Dim strFileName As String = "Test.txt" Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventA..

kdsoft-zeros.tistory.com

 

반응형
반응형

* 파일 복사 예제

 

메인 화면

전체 소스 코드

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