Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы C#.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
609.28 Кб
Скачать

Основы c#. Урок 49. Ввод/вывод в c# (System.Io)

Для операций ввода-вывода служит пространство имен System.IO.

Вот краткий обзор наиболее важных классов и перечислений из этого пространства имен:

  • BinaryReader - позволяет читать из файла данные различных типов (целые, вещественные, логические и т. п.)

  • BinaryWriter - позволяет записывать в файл данные различных типов (целые, вещественные, логические и т. п.)

  • Directory - класс со статическими методами для работы с папками

  • DirectoryInfo - класс для работы с некоторой папкой

  • File - класс со статическими методами для работы с файлом

  • FileInfo - класс для работы с некоторым файлом

  • Path - класс для работы с файловыми путями

  • Перечисление FileAttributes - атрибуты файла

  • Перечисление FileMode - возможные способы открытия файла

  • Перечисление FileAccess содержит константы, показывающие, открыт ли файл для чтения, записи и др.

  • FileSystemWatcher - класс для отслеживания изменений в файловой системе

  • Перечисление NotifyFilters - параметры, по которым происходит отслеживание изменений в файловой системе

  • Перечисление WatcherChangeTypes - какие изменения отслеживаются в файловой системе

Основы c#. Урок 50. Классы для работы с папками и файлами

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

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

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

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

FileInfo - аналогичен классу File, только его методы не статические - для использования этого класса надо создать его экземпляр (параметром для конструктора служит имя файла).

Классы Directory и File яляются непосредственными потомками класса Object, а классы DirectoryInfo и FileInfo - потомками абстрактного класса FileSystemInfo.

Основы c#. Урок 51. Класс Directory

Класс Directory предназначен для работы с папками. Этот класс содержит статические методы для работы с папками (в отличие от класса DirectoryInfo, который содержит аналогичные методы, применяемые для экзампляра класса).

Вот основные методы класса Directory (все они статические):

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

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

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

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

А вот пример их употребления:

using System;

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

using System.IO;

namespace constest

{

class Class1

{

...

static void Main(string[] args)

{

//Создаем папку.

Directory.CreateDirectory("C:\\temp");

//Проверка существования папки.

if(Directory.Exists("C:\\temp1"))

{

Console.WriteLine("Папка \"temp1\" существует");

}

else

{

Console.WriteLine("Папка \"temp1\" не существует");

}

if(Directory.Exists("C:\\temp"))

{

Console.WriteLine("Папка \"temp\" существует");

}

else

{

Console.WriteLine("Папка \"temp\" не существует");

}

//Перемещение папки.

Directory.Move( "C:\\temp", "C:\\temp2");

//Удаление папки.

Directory.Delete( "C:\\temp2");

}

}

}

Обратите внимание, что метод Move можно использовать не только для перемещения, но и для переименования папки (что мы, фактически, в нашем примере и делаем). Для этого папка, задаваемая первым параметром (т. е. та, которую перемещаем) должна находиться на том же уровне, что и папка, задаваемая вторым параметром (т. е. куда перемещаем).