Главная страница
Библиотека (скачать книги)
Скачать софт
Введение в программирование
Стандарты для C++
Уроки по C#
Уроки по Python
HTML
Веб-дизайн
Ассемблер в среде Windows
ActiveX
Javascript
Общее о Линукс
Линукс - подробно
Линукс - новое
Delphi
Паскаль для начинающих
Турбопаскаль
Новости
Партнеры
Наши предложения
Архив новостей





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

Итак, снова файлы. Это понятие и механизм работы с ними уже вам знаком из курсов 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. Мы же покажем примеры на прикладное применение этих классов.


 
 
 

Библиотека программиста. 2009.
Администратор: admin@programmer-lib.ru