Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции_1 / С_17_Работа с файлами.ppt
Скачиваний:
18
Добавлен:
19.04.2015
Размер:
1.71 Mб
Скачать

17. Работа с файлами.

Цель любой программы состоит в обработке информации. При этом классическим способом хранения информации является файлы. Файл всегда должен имя, файл может иметь потенциально неограниченный, но всегда конечный размер.

Файл можно создать, при этом если создается файл с существующим названием, то старый файл будет уничтожен (точнее очищен).

Существующий файл можно открыть. Открыть файл можно для чтения, записи или для чтения и записи.

Каждый открытый файл имеет текущий указатель. Этот указатель определяет, какая часть файла будет прочитана следующей операцией чтения или в какую часть будет записаны данные операцией записи.

Для работы (чтение и запись) с потоками, файлами и файловой системой предназначено пространство имен

System.IO.

17.1 Классы для работы с папками и файлами

Для работы с файлами и папками в пространстве имен System.IO существуют следующие классы:

Directory – содержит статические методы для выполнения различных операций с папками (создание, удаление, проверка существования и т. п.).

DirectoryInfo – аналогичен классу Directory, только его методы не статические – для использования этого класса надо создать его экземпляр (параметром для конструктора служит имя папки).

File – содержит статические методы для выполнения различных операций с файлами (создание, удаление, копирование и т. п.).

FileInfo – аналогичен классу File, только его методы не статические – для использования этого класса надо создать

его экземпляр (параметром для конструктора служит имя

17.1.1 Класс Directory

Этот класс содержит статические методы для работы с папками (в отличие от класса DirectoryInfo, который

содержит аналогичные методы, применяемые для экзампляра класса)

Основные методы класса Directory:

CreateDirectory – создает папку с указанным именем.

Exists – проверяет существование папки с указанным именем.

Delete – удаляет папку с указанным именем.

Move – перемещает или переименовывает папку с указанным именем.

Пример: Создадим приложение, позволяющее создавать, удалять, переименовывать папки, а также определять их наличие.

Вначале создадим пустую папку «D:\test»

Реализуем приложение с компонентами button1..button4 и textbox1

Для подключения пространства имен System.IO добавим в описание соответствующую строку:

 

Подключение

using System;

System.IO

 

using System.Collections.Generic;

 

...

 

//Подключаем необходимое пространство имен.

using System.IO;

 

На событие Click компонента button1 будем создавать папку с именем из textBox1 в папке «D:\test»:

private void button1_Click(object sender, EventArgs e)

{

Directory.CreateDirectory("D:\\test\\"+textBox1.Text);

}

На событие Click компонента button2 будем проверять наличие папки с именем из textBox2 в папке «D:\test»:

private void button2_Click(object sender, EventArgs e)

{

if (Directory.Exists("D:\\test\\" + textBox2.Text)==true)

{ label1.Text = "Существует"; }

else { label1.Text = "Не существует"; };

}

На событие Click компонента button3 папке с именем из textBox3 в папке «D:\test» дадим имя из textBox4:

private void button3_Click(object sender, EventArgs e)

{

if (Directory.Exists("D:\\test\\”+textBox3.Text) == true)

Directory.Move("D:\\test\\" + textBox3.Text,

На событие Click компонента button3 папке с именем из textBox3 в папке «D:\test» дадим имя из textBox4:

private void button4_Click(object sender, EventArgs e)

{

Directory.Delete("D:\\test\\" + textBox5.Text);

}

Почему?