На нашем сайте мы используем cookie для сбора информации технического характера и обрабатываем IP-адрес вашего местоположения. Продолжая использовать этот сайт, вы даете согласие на использование файлов cookies. Здесь вы можете узнать, как мы пользуемся файлами cookies.
Я согласен
логотип upread.ru

Файлы и потоки в C#: общая информация


В C# любой файл представляет собой последовательный поток байтов. Конец каждого файла либо имеет маркер конца файла, либо байт с особым номером, который записывается в соответствии со структурой административных данных.

n-байтовый файл по представлению в C#

В языке C# создается объект при открытии файла, а затем с данным объектом уже ассоциируется поток. Когда программа выполняется, создается три объекта потока, доступ к которым можно получить с помощью следующих свойств:

  • Console.Out – возвращается объект потока стандартного вывода; с помощью него информация и появляется на мониторе компьютера.
  • Console.In – возвращает объект потока стандартного ввода; с помощью него имеется возможность вводить информацию с клавиатуры.
  • Console.Error – возвращается объект потока стандартной ошибки; появляется на мониторе информация об ошибках.
Для возможности обработки файлов в C# необходимо подключить пространство имен Sistem.IO. В данном пространстве имен имеются такие классы потоки:

  • FileStream – ввод и вывод в файл; используется абстрактный класс Stream для создания объекта потока для работы с файлом.
  • StreamReader – чтение текста из файла; TextReader соответственно.
  • StreamWriter – запись текста в файл; TextWriter соответсвенно.
По сути дела Console.Out и Console.In – это свойства классов TextWriter и TextReader.

В C# имеется класс BinaryFormatter, с помощью которого можно упорядочить объект Stream(то есть преобразовать его в такой формат, который будучи записан в файл, не теряет никакую информацию) и снять упорядочивание (то есть получить объект из файла путем считывания его формата).

Для работы с потоками в виде байтов (точнее для обеспечения функциональности и представления) есть абстрактный класс System.IO.Stream. Вообще, для операций ввода-вывода в C# имеется немало классов. Информация из файлов может считываться последовательно или выборочно с помощью класса FileStream. Для прямой передачи данных в память и извлечения их применяют MemoryStream: этот класс работает гораздо быстрее остальных, физически пишущих на диск данные. Есть еще BufferStream: с помощью этого класса производится буферизация получения данных из потока и передачи в него. Под буферизацией понимается такой способ ввода-вывода, при котором информация идет в специальный буфер, накапливается там, и только после заполнения буфера начинает производиться физическая передача информации. Это позволяет повысить быстродействие работы с информацией.



Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.



тегистатьи IT, си шарп, файлы





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




Лабораторная работа на java: линейные алгоритмы
Разница между == и === в JavaScript


© upread.ru 2013-2021
При перепечатке активная ссылка на сайт обязательна.
Задать вопрос
письмо
Здравствуйте! Вы можете задать мне любой вопрос. Если не получается отправить сообщение через эту форму, то пишите на почу up777up@yandex.ru
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.