Картинки на тему «Ввод-вывод в C#» |
Периферийные устройства | ||
<< Ввод-вывод в C# | Криминалистическое исследование >> |
Картинок нет |
Автор: pov. Чтобы познакомиться с картинкой полного размера, нажмите на её эскиз. Чтобы можно было использовать все картинки для урока информатики, скачайте бесплатно презентацию «Ввод-вывод в C#.ppt» со всеми картинками в zip-архиве размером 57 КБ.
Сл | Текст | Сл | Текст |
1 | Ввод-вывод в C#. Ввод-вывод данных. | 9 | CryptoSt ream не принадлежит на самом деле |
2 | Поток (stream) -. это абстрактное | пространству имен System.I0, он все же | |
представление последовательноro | порожден от класса St ream. Класс | ||
уcrpойства, для котoporo сохранение и | CryptoStream может использоваться для | ||
считывание данных выполняется побайтно. | выполнения криптоrpафических операций на | ||
Базовым устройством для потока может быть, | объекте Stream. Конструктор CryptoStream | ||
например файл, принтер или сетевой сокет. | принимает три параметра: первый задает | ||
Через эту абстракцию можно из одноrо и | используемый поток, второй | ||
тoro же процесса обращаться к разным | криптоrрафическое преобразование, а в | ||
устройствам, и аналоrичный проrpаммный код | третьем указывается доступ на чтение или | ||
может использоваться для чтения данных из | запись к криптоrpафическому потоку. В | ||
фaйловоrо и ceтeвoro входных потоков. Тем | нашем распоряжении имеются самые разные | ||
самым проrраммисту не требуется | криптоrрафические преобразования - можно | ||
беспокоиться о реальном физическом | использовать любой провайдер службы | ||
механизме тaкoro устройства. | криптоrpафии, реализующий интерфейс | ||
3 | Синхронный ввод/вывод. По умолчанию | ICryptoTransform. | |
все операции с потоками выполняются | 10 | System.IO. Классы StreamReader и | |
синхронно, и это простейший способ для | StreamWriter пригодятся нам в тех | ||
операций ввода/вывода. Недостаток | ситуациях, когда необходимо считать или | ||
синхронноrо ввода/вывода состоит в том, | записать символьные данные (данные в | ||
что обработка блокируется до завершения | формате string). По умолчанию оба этих | ||
операции ввода/вывода и лишь затем | типа работают с кодировкой Unicode. | ||
приложению разрешается продолжить | 11 | Наиболее важные члены базового класса | |
обработку. Синхронный ввод/вывод бывает | TextWriter. Close() Закрывает | ||
полезен при небольших размерах файлов, но | соответствующий объект Writer и | ||
для больших файлов из-за блокирования | освобождает связанные с ним ресурсы. Если | ||
выполнения текущеrо потока | в процессе записи используется буфер, он | ||
производительность приложения может | будет автоматически очищен Flush() Очищает | ||
оказаться слишком низкой. Синхронный | все буферы для текущего объекта Writer и | ||
ввод/вывод не подходит для выплнения | записывает накопленные в них данные в | ||
операций в сети, rде слабо влияние на | место постоянного их хранения, но при этом | ||
вpeмя, необходимое для завершения | сам объект Writer не закрывается NewLine | ||
операции. Следовательно, синхронный | Используется для определения | ||
ввод/вывод был бы неудачным выбором для | последователь- ности символов, означающих | ||
передачи больших потоков через сеть с | начало новой строки. По умолчанию | ||
низкой пропускной способностью или | используется последовательность “возврат | ||
скоростью. Вводя мноrопоточную обработку | каретки” — “перевод строки” (\r\n) Write() | ||
(threading) в синхронные методы, можно | Записывает новый отрезок текста в поток | ||
имитировать асинхронный ввод/вывод. | без применения последовательности начала | ||
4 | Асинхронный ввод/вывод. При | новой строки WriteLine() Записывает новую | |
асинхронном вводе/выводе до завершения | строку в поток (с применением | ||
операции ввода/вывода моryr выполняться | последовательности начала новой строки). | ||
друrие задачи. Коrда операция ввода/вывода | 12 | Наиболее важные члены класса | |
завершается, операционная система | TextReader. Peek() Возвращает следующий | ||
уведомляет об этом вызывающую nporpaммy. | символ, не изменяя позицию указателя в | ||
Следовательно, для асинхронноrо | файле Read() Считывает данные из потока на | ||
ввода/вывода требуется отдельный механизм | входе ReadBlock() Считывает указанное | ||
уведомления. Этот метод полезен, коrда | пользователем количество символов, начиная | ||
одновременно с передачей больших объемов | с определенной позиции, и записывает | ||
данных из потока приложению требуется | считанные данные в буфер ReadLine() | ||
продолжать выполнение друrих задач или | Считывает строку данных из текущего потока | ||
работать с медленными устройствами, чья | и возвращает ее как значение типа string. | ||
скорость моrла бы в противном случае | Пустая строка (null string) означает конец | ||
замедлить работу приложения. I При | файла (EOF) ReadToEnd() Считывает все | ||
асинхронном вводе/выводе для каждоrо | символы, начиная с текущей позиции и до | ||
запроса ввода/вывода создается отдельный | конца потока, и возвращает считанные | ||
поток выполнения, и это может привести к | данные как единое значение типа string. | ||
повышению накладных расходов для | 13 | Пример. public class | |
операционной системы. | MyStreamWriterReader { public static int | ||
5 | System.IO. Все классы, производные от | Main(string[] args) { . . . // А теперь | |
Stream, предназначены для работы с блоками | выводим информацию из файла на консоль при | ||
двоичных данных. | помощи // StreamReader | ||
6 | Члены класса Stream. CanRead CanSeek | Console.WriteLine("Here ane your | |
CanWrite Close() Flush() Length Position | thoughts:\n"); StreamReader sr = | ||
Read() ReadByte() Seek() SetLength() | File.OpenText(“Thoughts.txt"); string | ||
Write() WriteByte(). Определяют, будет ли | input = null; while ((input = | ||
данный поток поддерживать чтение, поиск и | sr.ReadLine()) !=null) { | ||
(или) запись Закрывает текущий поток и | Console.WriteLine(input); } sr.Close(); | ||
освобождает связанные с ним ресурсы | return 0: } }. | ||
(сокеты,указатели на файлы и т. п.) | 14 | Работа с двоичными данными (классы | |
Записывает данные из буфера в связанный с | BinaryReader и BinaryWriter). Эти типы | ||
потоком источник данных и очищает буфер. | позволяют считывать и записывать | ||
Если для данного потока буфер не | определенные двоичные типы данных в поток. | ||
используется, то этот метод ничего не | Класс BinaryWriter определяет многократно | ||
делает Возвращает длину потока в байтах | перегруженный метод Write() для помещения | ||
Определяет указатель на местонахождение | в поток объектов самых разных типов | ||
(позицию) в текущем потоке Считывают | данных. | ||
последовательность байтов (или | 15 | Наиболее важные члены класса | |
единственный байт) в текущем потоке и | BinaryWriter. BaseStream Представляет | ||
перемещают указатель в потоке на | поток, с которым работает объект | ||
количество считанных байтов Устанавливает | BinaryWriter Close() Закрывает поток | ||
указатель на местонахождение (позицию) в | Flush() Очищает буфер Seek() Устанавливает | ||
текущем потоке Устанавливает длину | позицию в текущем потоке Write() | ||
текущего потока Записывают | Записывает значение в текущий поток. | ||
последовательность байтов (или | 16 | Наиболее важные члены класса | |
единственный байт) в текущий поток и | BinaryReader. BaseStream Представляет | ||
перемещают указатель в потоке на | поток, с которым работает объект | ||
количество записанных байтов. | BinaryReader Close() Закрывает объект | ||
7 | Работа с объектом FileStream. // | BinaryReader PeekChar() Возвращает | |
Создаем файл в текущем каталоге FileStream | следующий символ без перемещения | ||
myFStream = new | внутреннего указателя в потоке Read() | ||
FileStream("test.dat", | Считывает поток байтов или символов и | ||
FileMode.OpenOrCreate, | сохраняет в массиве (передаваемом как | ||
FileAccess.ReadWrite); // Записываем байты | входящий параметр) ReadXXXX() Считывает | ||
в файл *.dat for(int i = 0; i < 256; | данные определенного типа из потока | ||
i++) { myFStream.WriteByte((byte)i); } // | (например, ReadBoolean(), ReadByte(), | ||
Переставляем внутренний указатель на | Readlnt32() и т. д.). | ||
начало myFStream.Position = 0; // | 17 | Пример. public class ByteTweaker { | |
Считываем байты из файла *.dat for(int i = | public static void Main(string[] args) { | ||
0; i < 256; i++) { | Console.WriteLine("Creating a file | ||
Console.Write(myFStream.ReadByte()); } | and writing binary data..."); | ||
myFStream.Close(); | FileStream myFStream = new | ||
8 | Работа с объектом MemoryStream. using | FileStream("temp.dat", | |
System; using System.Text; using | FileMode.OpenOrCreate, | ||
System.IO; namespace ConsoleApplication1 { | FileAccess.ReadWrite); // Записываем | ||
class memStreamDemoClass { static void | двоичные данные BinaryWriter binWrit = new | ||
Main(string[] args) { // Создаем пустой | BinaryWriter(myFStream); | ||
поток в памяти MemoryStream ms = new | binWrit.Write("Hello as binary | ||
MemoryStream(); byte[] memData = | info..."); int myInt = 99; float | ||
Encoding.ASCII.GetBytes( "This will | myFloat = 9984.82343F; bool myBool = | ||
go in Memory!"); // Записываем данные | false; char[] myCharArray = {'H', 'e', | ||
ms.Write(memData, 0, memData.Length); // | 'l', 'l', 'o'}; binWrit.Write(myInt); | ||
Устанавливаем указатель на начало | binWrit.Write(myFloat); | ||
ms.Position=0; byte[] inData = new | binWrit.Write(myBool); | ||
byte[100]; // Читаем. из памяти | binWrit.Write(myCharArray); | ||
ms.Read(inData, 0, 100); | 18 | Пример. // Устанавливаем внутренний | |
Console.WriteLine(Encoding.ASCII.GetString | указатель на начало | ||
inData)); Stream strm =new | binWrit.BaseStream.Position = 0; // | ||
FileStream("Memoutput.txt", | Считываем двоичную информацию как поток | ||
FileMode.OpenOrCreate, FileAccess.Write); | байтов Console.WriteLine("Reading | ||
ms.WriteTo(strm); } } }. | binary data..."); BinaryReader | ||
9 | Класс CryptoStream. Для определенных | binRead = new BinaryReader(myFStream); int | |
типов данных их защита при передаче и | temp = 0; while(binRead.PeekChar()!=-1) { | ||
хранении является очень важным | Console.Write(binRead.ReadByte()); temp = | ||
требованием. Для защиты данных, как | temp + 1; if(temp == 5) { // Добавляем | ||
правило, применяется их шифрование | пустую строку через каждые 5 байтов temp = | ||
секретным ключом. В зависимости от | 0; Console.WriteLine(); } } // Все | ||
алrоритма для дешифрования может | закрываем binWrit.Close(); | ||
использоваться тот же секретный ключ, что | binRead.Close(); myFStream.Close(); } }. | ||
и для шифрования, или друrой ключ в | 19 | Задание. Пусть текстовый файл содержит | |
зависимости от алrоритма шифрования. | пары «логин-пароль». Напишите программу, | ||
Платформа .NET предоставляет класс | которая по заданному логину находит и | ||
CryptoStream, связывающий потоки с | печатает пароль или сообщение о том, что | ||
криптоrpафическими преобразованиями. Хотя | логин не найден. | ||
Ввод-вывод в C#.ppt |
«Устройства вывода информации» - Устройства вывода информации. Чем больше разрешающая способность монитора, тем выше качество изображения. Лазерные принтеры. Матричные принтеры. Монитор является универсальным устройством вывода информации. Лазерные принтеры применяются в офисах для печати документов. Струйные принтеры. Информация на экране монитора формируется из отдельных точек – пикселей.
«Устройства ввода и вывода информации» - Акустические колонки и наушники. Периферийные устройства. Джойстики управляют перемещениями курсора по экрану. Электронное устройство на базе БИС. Информационная ёмкость – 600 стр. текста или несколько десятков изображений. Сенсорная панель. Мышь. Носители информации – устройства для хранения информации.
«Устройства ввода вывода» - Манипуляторы. Клавиатура. Давайте вспомним… Планшетные. Струйный. Мышь. Проверь себя. Звуковая карта имеет также возможность синтезировать звук. Монитор. Координатные устройства ввода. Ура! Практическая работа «Изучение настроек графического и цветового разрешения». Разрешение экрана. Трекбол. Барабанные.
«Вывод войск из Афганистана» - Первый раз в первый класс. Проводы в армию. Война длилась девять лет,один месяц и девятнадцать дней. Дай мне силы встать… Медаль «В память 10-летия вывода войск из Афганистана». Пропали без вести и были захвачены в плен 330 человек. После школы учился в ПТУ №13 Получил профессию - газоэлектросварщик.
«Устройства ввода» - Устройство ввода. Какой вид информации можно вводить с помощью клавиатуры? Для устройств ввода и устройств вывода управляющие программы называются ДРАЙВЕРАМИ. Работа любого аппаратного средства требует программного управления. - Основное устройство ввода информации от пользователя в компьютер. Устройства ввода -.
«Устройства ввода информации» - Устройства с прямым вводом. Клавиатура. Некоторые системы способны определять одинаковые слова, сказанные разными людьми. Устройства сканирования. Распознавание речи. Манипуляторы. Сенсорные устройства ввода. Стандартным устройством для ввода информации в компьютер является клавиатура. Устройства ввода информации.