Шаг 294.
Язык программирования C#. Начала.
Немного о разном. Работа с файлами (еще продолжение)

    На этом шаге мы рассмотрим пример компирования файла с использованием метода CopyTo().

    В рассмотренной на предыдущем шаге программе мы проиллюстрировали процесс побайтового считывания информации из файла и записи данных в файл. Что касается собственно задачи копирования файлов, то ее можно было реализовать проще, воспользовавшись методом CopyTo(). Соответствующая программа представлена в примере ниже.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using System.IO;

namespace pr294_1
{
    // Главный класс: 
    class Program
    {
        // Главный метод: 
        static void Main()
        {
            // Название и полный путь для файлов: 
            string f = "bear.jpg"; 
            string F = "animal.jpg"; 
            try {
                // Создание потока для считывания файла:
                FileStream fin = new FileStream(f, FileMode.Open);
                Console.WriteLine("Исходный файл: \"{0}\"", f);
                // Создание потока для записи в файл:
                FileStream fout = new FileStream(F, FileMode.Create); 
                Console.WriteLine("Hoвый файл: \"{0}\"", F);
                // Копирование файла: 
                fin.CopyTo(fout);
                // Закрываются потоки: 
                fout.Close();
                fin.Close();
            }
            catch(Exception e) {
                Console.WriteLine("Произошла ошибка!");
                Console.WriteLine(e.Message);
                // Задержка:
                Console.ReadLine();
                return; // Завершение выполнения программы
            }
            Console.WriteLine("Копирование успешно завершено");
            // Задержка:
            Console.ReadLine();
        }
    }
}
Архив проекта можно взять здесь.

    Результат выполнения программы такой же, как и в программе предыдущего шага. В данном случае в программе, после создания потоков для считывания и записи данных, из объекта потока fin вызывается метод CopyTo(), а аргументом методу передается объект потока fout. В результате выполняется копирование файла, связанного с потоком fin, в файл, связанный с потоком fout.

    На следующем шаге мы рассмотрим работу с файлами через символьные потоки.




Предыдущий шаг Содержание Следующий шаг