на начало
На главную страницу
Форум   

Статья :: Потоковые классы


Потоковые классы

Stream (Поток, Абстрактный последовательный файл) — абстрактный класс, который является базовым для чтения и записи байтов в некоторое хранилище данных типа файла. Этот класс поддерживает синхронные и асинхронные чтение и запись. Асинхронные методы обсуждаются позже в данной главе. Класс Stream (Поток, Абстрактный последовательный файл) содержит типичные и вполне ожидаемые от такого класса методы: Read (Чтение), Write (Запись), Seek (Поиск), Flush (Дозапись) и Close (Закрыть).
Класс FileStream, который является производным от класса Stream (Поток, Абстрактный последовательный файл), предоставляет операции чтения и записи последовательности байтов в файл. Конструктор FileStream создает экземпляр потока. Перегруженные методы класса Stream (Поток, Абстрактный последовательный файл) осуществляют чтение и запись в файл.
У класса Stream (Поток, Абстрактный последовательный файл) есть и другие производные классы: MemoryStream, BufferedStream и NetworkStream (в System: :Net: : Sockets (Система::Сеть::Сокеты)).
Пример FileStream (в папке FilelO с примерами ввода/вывода) иллюстрирует, как использовать потоковый класс Stream (Поток, Абстрактный последовательный файл). Если файл не существует, создается новый, а потом в этот файл записываются числа от 0 до 9. Если файл уже существует, программа читает 5 байтов в конце файла и затем выводит их на консоль. (Пример нужно выполнить дважды. Первый раз программа создаст файл и запишет в него числа, а во второй раз прочитает и распечатает часть файла).

unsigned char data _gc[] =
// сборщик мусора - данные - символы без знака
new unsigned char _gc [10];
// сборщик мусора - новый символ без знака
FileStream *fs = new FileStream(
"FileStreamTest.txt",
FileMode::OpenOrCreate);
if (fs->Length == 0)
// если Длина == 0
{
Console::WriteLine("Writing Data...");
// Запись данных
for (short i = 0; i < 10; i++) data[i] = (unsigned char)i;
// данные = символ без знака
fs->Write(data, 0, 10);
// Запись данных
}
else
{
fs->Seek(-5, SeekOrigin::End);
// Ищем конец
int count = fs->Read(data, 0, 10);
// Чтение данных
for (int i = 0; i < count; i++)
// счет
{
Console::WriteLine(data[i]);
// данные
}
}
fs->Close();


Потоковые классы

страницы в данном разделе 
Глава 8. Классы каркаса .NET Framework Классы каркаса .NET Framework
Метаданные и отражение Класс туре (Тип)
Динамическое связывание Ввод и вывод в .NЕТ
Потоковые классы Примитивные типы данных и потоки
TextReader И TextWriter Обработка файлов
Сериализация, или преобразование в последовательную форму Объекты сериализации
ISerializable Модель приложений .NET
Поток Изоляция потоков
Синхронизация коллекций Контекст
Заместители и заглушки ContextBoundObject
Изоляция приложений Прикладная область
Прикладные области и сборки Класс AppDomain (Прикладная область)
События AppDomain (Прикладная область) Пример AppDomain (Прикладная область)
Маршализация, прикладные области и контексты Асинхронное программирование
Асинхронные шаблоны проектирования lAsyncResult
Использование делегатов в асинхронном программировании Организация поточной обработки с параметрами
Удаленный доступ Краткий обзор удаленного доступа
Удаленные объекты Активация
Пример удаленного объекта Пример программы, реализующей удаленный доступ
Метаданные и удаленный доступ Конфигурационные файлы удаленного доступа
Программируемые атрибуты Использование самостоятельно созданного атрибута
Определение класса атрибута Определение базового класса
Сборка мусора Уничтожение объектов
Неуправляемые ресурсы и освобождение ранее выделенной области памяти Поколения
Завершение и раскручивание стека Управление сборкой мусора с помощью класса сборщика мусора GC
Программа-пример Резюме


Содержание сайта (выборка)
Apache
Протоколы TCP/IP (принципы, протоколы и архитектура)



PHP, PELR, JSP
PHP
JavaServer Pages (JSP)

Базы данных
Основы mysql
СУБД INFORMIX
СУБД POSTGRES
Основы проектирования реляционных баз данных

HTML, javascript
Спецификация HTML 4.01
Каскадные Таблицы Стилей, Уровень 2
Клиентский JavaScript. Справочник.
JavaScript руководство пользователя
Серверный JavaScript 1.4. Руководство по Использованию.

Паскаль, C, C++, C#
GCC (примеры)
FAQ Валентинa Озеровa DELPHI
C



 
© faq.pp.ru, справочник программиста