среда, 25 сентября 2013 г.

C# Программное копирование файла

В C# копирование файла программным образом очень легко. Для этого есть метод File.Copy из пространство имен System.IO, который в качестве аргументов принимает путь исходного файла и место где файл должен быть копирован.
Давайте создаем маленькое приложение в котором будет возможность выбрать файл и место где оно будет копироваться и по клику "Copy" файл будет копирован в папку.


Создадим новое Windows.Forms приложение и добавим в форму следующие элементы.

Будем создать две события для клика "File" и "Location".
Чтобы выбрать нужный нам файл должен открываться диалоговое окно файла и папки. Для этого будем использовать классы OpenFileDialog и FolderBrowserDialog.
        private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog dialog = new OpenFileDialog();
            if (dialog.ShowDialog() == DialogResult.OK)
            {
                textBox1.Text = dialog.FileName;
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            FolderBrowserDialog dialog = new FolderBrowserDialog();
            if (dialog.ShowDialog() == DialogResult.OK)
            {
                textBox2.Text = dialog.SelectedPath;
            }
        }

И наконец события клика "Copy" будет иметь такой вид
        private void button3_Click(object sender, EventArgs e)
        {
            try
            {
                File.Copy(textBox1.Text, textBox2.Text + "\\" + Path.GetFileName(textBox1.Text));
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

Вот польный код формы
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

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

        private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog dialog = new OpenFileDialog();
            if (dialog.ShowDialog() == DialogResult.OK)
            {
                textBox1.Text = dialog.FileName;
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            FolderBrowserDialog dialog = new FolderBrowserDialog();
            if (dialog.ShowDialog() == DialogResult.OK)
            {
                textBox2.Text = dialog.SelectedPath;
            }
        }

        private void button3_Click(object sender, EventArgs e)
        {
            try
            {
                File.Copy(textBox1.Text, textBox2.Text + "\\" + Path.GetFileName(textBox1.Text));
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
    }
}


Комментариев нет:

Отправить комментарий