• Добро пожаловать на сайт - Forumteam.digital !

    Что бы просматривать темы форума необходимо зарегестрироваться или войти в свой аккаунт.

    Группа в телеграме (подпишитесь, что бы не потерять нас) - ForumTeam Chat [Подписатся]
    Связь с администратором - @ftmadmin

30. Опять работаем файлами

Redman

<FORUMTEAM>
Команда форума
Регистрация
13.11.17
Сообщения
13.340
Реакции
8.377
Баллы
1.200
FTC
208¢
Работа с файлами.
Итак, снова файлы. Это понятие и механизм работы с ними уже вам знаком из курсов C++,MFC. Теперь настало время разобрать его в контексте C#, оценить все плюсы и минусы. Предадимся минимальной доле воспоминаний и примем дозу нового материала.

Под файлом понимают поименованные данные, хранящиеся на диске (кроме имени указывается иногда каталог). Когда мы открываем файл для чтения и/или записи, он автоматически становится потоком. Поток - это то, над чем можно производить операции чтения и записи. Из определения потока можно выяснить, что не только открытые файлы являются потоками.

Данные, получаемые из сети, клавиатурный ввод и вывод на экран в консольных приложениях - являются примерами потоков. Для работы с файлами нам нужно воспользоваться пространством имен System.IO, которое аккумулирует все необходимые нам классы. Рассмотрим фрагмент данного пространства:

BinaryReader
BinaryWriter
BufferedStream
Directory
DirectoryInfo
DirectoryNotFoundException
EndOfStreamException
ErrorEventArgs
File
FileInfo
FileLoadException
FileNotFoundException
FileStream
FileSystemEventArgs
FileSystemInfo
FileSystemWatcher
InternalBufferOverflowException
IODescriptionAttribute
IOException
MemoryStream
Path
PathTooLongException
RenamedEventArgs
Stream
StreamReader
StreamWriter
StringReader
StringWriter
TextReader
TextWriter

Классов много, рассмотрим некоторые из них.

  1. StreamReader - Предназначен для чтения текстовых файлов или потоков.
  2. StreamWriter - Данный класс используется для записи текста в новые или уже существующие файлы.
  3. FileStream - Класс FileStream является базовым классом для открытия, чтения, записи и закрытия файлов. Данный класс наследуется от абстрактного класса Stream, следовательно большинство его свойств и методов являются производными из этого класса.
  4. BinaryWriter - Класс, производный от Object. Предназначен для записи любой информации, не являющейся текстовой в файл.
  5. BinaryReader - Класс, производный от Object. Предназначен для чтения любой информации, не являющейся текстовой в файл.
  6. FileInfo, File - Эти классы предоставляют информацию о файлах. Оба класса предлагают одинаковые методы за исключением того, что методы File статические и требуют указания имени файла в качестве аргумента. Свойства и методы FileInfo нестатические, и имя файла, к которому будут применяться эти методы и свойства, указывается в аргументе конструктора.
  7. DirectoryInfo,Directory - Эти классы предоставляют информацию о каталогах. Оба класса предлагают одинаковые методы за исключением того, что методы Directory статические и требуют указания имени каталога в качестве аргумента. Свойства и методы DirectoryInfo нестатические, и имя каталога, к которому будут применяться эти методы и свойства, указывает аргумент конструктора.
Для ознакомления с методами этих классов вы можете воспользоваться MSDN. Мы же покажем примеры на прикладное применение этих классов.
 
Сверху Снизу