🗊 Презентация Механизмы ввода и вывода

Нажмите для полного просмотра!
Механизмы ввода и вывода, слайд №1 Механизмы ввода и вывода, слайд №2 Механизмы ввода и вывода, слайд №3 Механизмы ввода и вывода, слайд №4 Механизмы ввода и вывода, слайд №5 Механизмы ввода и вывода, слайд №6 Механизмы ввода и вывода, слайд №7 Механизмы ввода и вывода, слайд №8 Механизмы ввода и вывода, слайд №9 Механизмы ввода и вывода, слайд №10 Механизмы ввода и вывода, слайд №11 Механизмы ввода и вывода, слайд №12 Механизмы ввода и вывода, слайд №13 Механизмы ввода и вывода, слайд №14 Механизмы ввода и вывода, слайд №15 Механизмы ввода и вывода, слайд №16 Механизмы ввода и вывода, слайд №17 Механизмы ввода и вывода, слайд №18 Механизмы ввода и вывода, слайд №19 Механизмы ввода и вывода, слайд №20 Механизмы ввода и вывода, слайд №21 Механизмы ввода и вывода, слайд №22 Механизмы ввода и вывода, слайд №23 Механизмы ввода и вывода, слайд №24 Механизмы ввода и вывода, слайд №25 Механизмы ввода и вывода, слайд №26 Механизмы ввода и вывода, слайд №27 Механизмы ввода и вывода, слайд №28 Механизмы ввода и вывода, слайд №29 Механизмы ввода и вывода, слайд №30 Механизмы ввода и вывода, слайд №31 Механизмы ввода и вывода, слайд №32 Механизмы ввода и вывода, слайд №33 Механизмы ввода и вывода, слайд №34 Механизмы ввода и вывода, слайд №35 Механизмы ввода и вывода, слайд №36 Механизмы ввода и вывода, слайд №37

Содержание

Вы можете ознакомиться и скачать презентацию на тему Механизмы ввода и вывода. Доклад-сообщение содержит 37 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Механизмы ввода и вывода
Описание слайда:
Механизмы ввода и вывода

Слайд 2


План лекции Потоки данных Виды потоков и базовые классы Разновидности потоков Сериализация
Описание слайда:
План лекции Потоки данных Виды потоков и базовые классы Разновидности потоков Сериализация

Слайд 3


Традиционно, проблемы! Система ввода/вывода не должна зависеть от платформы! Применяется модель потоков данных: упорядоченная последовательность...
Описание слайда:
Традиционно, проблемы! Система ввода/вывода не должна зависеть от платформы! Применяется модель потоков данных: упорядоченная последовательность данных, которой соответствует определенный источник (потоки ввода) или получатель (потоки вывода)

Слайд 4


Структура пакета java.io Типы общего назначения Классы разновидностей потоков Специализированные классы и интерфейсы для ввода и вывода значений...
Описание слайда:
Структура пакета java.io Типы общего назначения Классы разновидностей потоков Специализированные классы и интерфейсы для ввода и вывода значений простых типов Классы и интерфейсы работы с файлами Классы и интерфейсы механизма сериализации

Слайд 5


Класс InputStream abstract int read() throws IOException int read(byte[] b, int off, int len) throws IOException int read(byte[] b) throws...
Описание слайда:
Класс InputStream abstract int read() throws IOException int read(byte[] b, int off, int len) throws IOException int read(byte[] b) throws IOException long skip(long n) throws IOException int available() throws IOException void close() throws IOException

Слайд 6


Класс OutputStream abstract void write(int b) throws IOException void write(byte[] b, int off, int len) throws IOException void write(byte[] b)...
Описание слайда:
Класс OutputStream abstract void write(int b) throws IOException void write(byte[] b, int off, int len) throws IOException void write(byte[] b) throws IOException void flush() throws IOException void close() throws IOException

Слайд 7


Класс Reader int read() throws IOException abstract int read(char[] b, int off, int len) throws IOException int read(char[] b) throws IOException...
Описание слайда:
Класс Reader int read() throws IOException abstract int read(char[] b, int off, int len) throws IOException int read(char[] b) throws IOException long skip(long n) throws IOException boolean ready() throws IOException abstract void close() throws IOException

Слайд 8


Класс Writer void write(int ch) throws IOException abstract void write(char[] b, int off, int len) throws IOException void write(char[] b) throws...
Описание слайда:
Класс Writer void write(int ch) throws IOException abstract void write(char[] b, int off, int len) throws IOException void write(char[] b) throws IOException void write(String str, int off, int len) throws IOException void write(String str) throws IOException abstract void flush() throws IOException abstract void close() throws IOException

Слайд 9


Забавная особенность Уже знакомые потоки: System.out System.in System.err Какого они типа? Байтового!!! (для совместимости с версиями Java 1.0 и 1.1)
Описание слайда:
Забавная особенность Уже знакомые потоки: System.out System.in System.err Какого они типа? Байтового!!! (для совместимости с версиями Java 1.0 и 1.1)

Слайд 10


Классы потоков ввода и вывода Образуют 4 иерархии, в основе которых лежат базовые абстрактные классы Имя любого дочернего класса в иерархии имеет...
Описание слайда:
Классы потоков ввода и вывода Образуют 4 иерархии, в основе которых лежат базовые абстрактные классы Имя любого дочернего класса в иерархии имеет суффикс, совпадающий с именем корневого класса По сути делятся на 2 вида: «Реальные» потоки: источник (получатель) данных реален Потоки-обертки: источником (получателем) данных является другой поток

Слайд 11


Классы-трансляторы Позволяют читать из байтового как из символьного и записывать в байтовый поток как в символьный (с учетом кодировки)...
Описание слайда:
Классы-трансляторы Позволяют читать из байтового как из символьного и записывать в байтовый поток как в символьный (с учетом кодировки) InputStreamReader InputStreamReader(InputStream in) InputStreamReader(InputStream in, String encoding) throws UnsupportedEncodingException OutputStreamWriter OutputStreamWriter(OutputStream out) OutputStreamWriter(OutputStream out, String encoding) throws UnsupportedEncodingException

Слайд 12


Группа потоков Filter FilterInputStream, FilterReader FilterOutputStream, FiltrerWriter Обертки, позволяют объединять потоки в цепочки для получения...
Описание слайда:
Группа потоков Filter FilterInputStream, FilterReader FilterOutputStream, FiltrerWriter Обертки, позволяют объединять потоки в цепочки для получения сложных потоков, обладающих расширенным набором функций Обладают дополнительными защищенными конструкторами protected FilterInputStream(InputStream in) В наследниках обычно переопределяются методы чтения/записи с добавлением новой функциональности

Слайд 13


Группа потоков Buffered BufferedInputStream, BufferedReader BufferedOutputStream, BufferedWriter Обертки, осуществляют буферизацию данных на...
Описание слайда:
Группа потоков Buffered BufferedInputStream, BufferedReader BufferedOutputStream, BufferedWriter Обертки, осуществляют буферизацию данных на программном уровне Размер буфера можно задать в конструкторе Символьные версии имеют методы чтения и записи строк

Слайд 14


Группа потоков Piped PipedInputStream, PipedReader PipedOutputStream, PipedWriter Используются в виде пар ввода-вывода Данные, переданные в поток...
Описание слайда:
Группа потоков Piped PipedInputStream, PipedReader PipedOutputStream, PipedWriter Используются в виде пар ввода-вывода Данные, переданные в поток вывода, служат источником для потока ввода Например, реализуют механизм обмена данными между нитями Поток-пара задается параметром конструктора либо с помощью метода connect()

Слайд 15


Группа байтовых потоков ByteArray ByteArrayInputStream, ByteArrayOutputStream В качестве источника и получателя данных используются массивы байт В...
Описание слайда:
Группа байтовых потоков ByteArray ByteArrayInputStream, ByteArrayOutputStream В качестве источника и получателя данных используются массивы байт В потоке вывода размер буфера может меняться динамически В потоке вывода существуют методы преобразования: к массиву байт byte[] toByteArray() к строке String toString() вывода в другой поток void writeTo(OutputStream out)

Слайд 16


Группы символьных потоков CharArray и String CharArrayReader и CharArrayWriter аналогичны ByteArrayInputStream и ByteArrayOutputStream, но оперируют...
Описание слайда:
Группы символьных потоков CharArray и String CharArrayReader и CharArrayWriter аналогичны ByteArrayInputStream и ByteArrayOutputStream, но оперируют с массивом символов StringReader и StringWriter имеют аналогичную функциональность, позволяют считывать символы из строки и записывать данные в строковый буфер

Слайд 17


Группа потоков Print Обертки PrintStream и PrintWriter содержат методы, упрощающие задачу вывода данных простых типов в текстовом виде Методы print()...
Описание слайда:
Группа потоков Print Обертки PrintStream и PrintWriter содержат методы, упрощающие задачу вывода данных простых типов в текстовом виде Методы print() и println() не выбрасывают исключений System.out и System.err – единственные потоки PrintStream

Слайд 18


Класс StreamTokenizer Не является потоком чтения, но позволяет обрабатывать информацию из них Содержит методы лексической обработки текста Ряд...
Описание слайда:
Класс StreamTokenizer Не является потоком чтения, но позволяет обрабатывать информацию из них Содержит методы лексической обработки текста Ряд методов предназначен для настройки работы анализатора Метод nextToken() производит обработку очередной лексемы, после чего: Поле ttype содержит константу типа лексемы Поля nval и sval содержат числовое и строковое представление лексемы

Слайд 19


Группа байтовых потоков Data Интерфейсы DataInput и DataOutput содержат объявления методов ввода и вывода значений простых типов void writeLong(long...
Описание слайда:
Группа байтовых потоков Data Интерфейсы DataInput и DataOutput содержат объявления методов ввода и вывода значений простых типов void writeLong(long v), void writeFloat(float v) boolean readBoolean(), String readUTF() Обертки DataInputStream и DataOutputStream, соответственно, реализуют эти интерфейсы Класс RandomAccessFile реализует оба интерфейса Data и позволяет работать с файлами в режиме произвольного доступа

Слайд 20


Класс File Инкапсулирует платформенно-независимые методы работы с файлами и директориями: создание проверка атрибутов удаление переименование...
Описание слайда:
Класс File Инкапсулирует платформенно-независимые методы работы с файлами и директориями: создание проверка атрибутов удаление переименование Позволяет создавать временные файлы, удаляемые при завершении работы программы API класса изучите самостоятельно

Слайд 21


Группа потоков File FileInputStream, FileReader FileOutputStream, FileWriter Позволяют трактовать файл как поток, предназначенный для ввода и вывода...
Описание слайда:
Группа потоков File FileInputStream, FileReader FileOutputStream, FileWriter Позволяют трактовать файл как поток, предназначенный для ввода и вывода данных Связаны с исключениями FileNotFoundException и SecurityException Конструкторы могут получать параметры: Строку String, задающую имя файла Объект класса File Объект FileDescriptor (возвращается методом getFD() байтовых потоков)

Слайд 22


Пример записи в текстовый файл
Описание слайда:
Пример записи в текстовый файл

Слайд 23


Пример чтения из текстового файла и из консоли
Описание слайда:
Пример чтения из текстового файла и из консоли

Слайд 24


Пример записи в байтовый файл
Описание слайда:
Пример записи в байтовый файл

Слайд 25


Пример чтения из байтового файла
Описание слайда:
Пример чтения из байтового файла

Слайд 26


Сериализация объектов Сериализация – процесс преобразования состояния объекта в поток байтов Десериализация – восстановление состояния объекта из...
Описание слайда:
Сериализация объектов Сериализация – процесс преобразования состояния объекта в поток байтов Десериализация – восстановление состояния объекта из данных потока Не все объекты могут быть сериализованы Класс должен быть подготовлен к сериализации

Слайд 27


Группа байтовых потоков Object Класс ObjectOutputStream реализует сериализацию Класс ObjectInputStream реализует десериализацию Классы позволяют...
Описание слайда:
Группа байтовых потоков Object Класс ObjectOutputStream реализует сериализацию Класс ObjectInputStream реализует десериализацию Классы позволяют выводить и вводить графы объектов с сохранением структуры Результатом десериализации является объект, равнозначный исходному

Слайд 28


Пример сериализации в файл
Описание слайда:
Пример сериализации в файл

Слайд 29


Пример десериализации из файла
Описание слайда:
Пример десериализации из файла

Слайд 30


Подготовка классов к сериализации Должен реализовываться интерфейс-маркер java.io.Serializable Все сериализуемые поля должны иметь сериализуемый тип...
Описание слайда:
Подготовка классов к сериализации Должен реализовываться интерфейс-маркер java.io.Serializable Все сериализуемые поля должны иметь сериализуемый тип Родительский класс должен иметь конструктор по умолчанию (без параметров) или быть подготовленным к сериализации Сериализуются поля объекта, не обозначенные как transient или static

Слайд 31


Порядок сериализации и десериализации В нисходящем порядке по древовидной иерархии типов: от первого сериализуемого класса до частного типа Объекты,...
Описание слайда:
Порядок сериализации и десериализации В нисходящем порядке по древовидной иерархии типов: от первого сериализуемого класса до частного типа Объекты, на которые ссылаются поля, сериализуются в порядке обнаружения Перед десериализацией выполняется загрузка участвующих классов (возможен выброс исключения ClassNotFoundException)

Слайд 32


Пример иерархии классов
Описание слайда:
Пример иерархии классов

Слайд 33


Порядок сериализации
Описание слайда:
Порядок сериализации

Слайд 34


Порядок десериализации
Описание слайда:
Порядок десериализации

Слайд 35


Настройка сериализации Для изменения работы механизма сериализации на уровне вашего класса в самом классе надо описать методы: реализация...
Описание слайда:
Настройка сериализации Для изменения работы механизма сериализации на уровне вашего класса в самом классе надо описать методы: реализация сериализации private void writeObject(ObjectOutputStream out) throws IOException реализация десериализации private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException Уровень доступа методов позволяет им независимо существовать в различных классах в иерархии наследования Можно не переписывать чтение/запись полностью, а лишь изменить порядок записи полей и их формат (см. методы ObjectOutputStream.writeFields() и ObjectInputStream.readFields())

Слайд 36


Контроль версий Каждый класс имеет уникальный идентификатор номера версии – 64 битовое значение long По умолчанию значение рассчитывается как функция...
Описание слайда:
Контроль версий Каждый класс имеет уникальный идентификатор номера версии – 64 битовое значение long По умолчанию значение рассчитывается как функция от кода класса (включая методы) Несовпадение версий при десериализации объекта выбрасывает исключение InvalidClassException Проблему можно обойти, явно введя в класс поле private static final long serialVersionUID = ...;

Слайд 37


Механизмы ввода и вывода, слайд №37
Описание слайда:



Похожие презентации
Mypresentation.ru
Загрузить презентацию