русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Глава 16 СИСТЕМА ВВОДА/ВЫВОДА JAVA


Дата добавления: 2015-06-12; просмотров: 790; Нарушение авторских прав


Содержание · 1 СИСТЕМА ВВОДА/ВЫВОДА JAVA o 1.1 Класс File § 1.1.1 Список каталогов § 1.1.2 Безымянные внутренние классы § 1.1.3 Проверка существования и создание каталогов o 1.2 Ввод и вывод § 1.2.1 Типы InputStream § 1.2.2 Типы OutputStream o 1.3 Добавление атрибутов и интерфейсов o 1.4 Чтение из InputStream с использованием FilterInputStream o 1.5 Запись в OutputStream с помощью FilterOutputStream o 1.6 Классы Reader и Writer o 1.7 Источники и приемники данных o 1.8 Изменение поведения потока o 1.9 Классы, оставленные без изменений o 1.10 RandomAccessFile: сам по себе o 1.11 Типичное использование потоков ввода/вывода § 1.11.1 Буферизованное чтение из файла § 1.11.2 Чтение из памяти § 1.11.3 Форматированное чтение из памяти § 1.11.4 Вывод в файл § 1.11.5 Сокращенная форма вывода текстового файла § 1.11.6 Сохранение и восстановление данных § 1.11.7 Чтение/запись файлов с произвольным доступом § 1.11.8 Каналы o 1.12 Средства чтения и записи файлов o 1.13 Стандартный ввод/вывод § 1.13.1 Чтение из стандартного потока ввода § 1.13.2 Замена System.out на PrintWriter § 1.13.3 Перенаправление стандартного ввода/вывода o 1.14 Новый ввод/вывод (nio) § 1.14.1 Преобразование данных § 1.14.2 Извлечение примитивов § 1.14.3 Представления буферов § 1.14.4 О порядке байтов § 1.14.5 Буферы и операции с данными § 1.14.6 Подробно о буфере § 1.14.7 Отображаемые в память файлы § 1.14.8 Производительность § 1.14.9 Блокировка файлов § 1.14.10 Блокирование части отображаемого файла o 1.15 Сжатие данных § 1.15.1 Простое сжатие в формате GZIP § 1.15.2 Многофайловые архивы ZIP § 1.15.3 Архивы Java ARchives (файлы JAR) o 1.16 Сериализация объектов § 1.16.1 Обнаружение класса § 1.16.2 Управление сериализацией § 1.16.3 Ключевое слово transient § 1.16.4 Альтернатива для Externalizable § 1.16.5 Долговременное хранение o 1.17 Резюме

Создание хорошей системы ввода/вывода является одной из труднейших задач разработчика языка. Доказательством этого утверждения служит множество подходов, используемых при разработке систем ввода/вывода. Основная сложность состоит в том, что необходимо учесть все возможные ситуации. Это не только наличие множества источников и приемников данных, с которыми необходимо поддерживать связь (файлы, консоль, сетевые соединения), но и реализации различных форм этой связи (последовательный доступ, произвольный, буферизованный, двоичный, символьный, построчный, пословный и т. д.).



Разработчики библиотеки Java решили начать с создания огромного количества классов. Вообще говоря, в библиотеке ввода/вывода Java так много классов, что потеряться в них проще простого (парадоксально, но сама система ввода/вывода Java в действительности не нуждается в таком количестве классов). Потом, после выхода первой версии языка Java, в библиотеке ввода/вывода последовали значительные изменения: к ориентированным на посылку и прием байтов классам добавились основанные на Юникод классы, работающие с символами. В JDK-1.4 классы nіо (от сочетания «new I/O», «новый ввод/вывод») призваны улучшить производительность и функциональность.

В результате, чтобы понять общую картину ввода/вывода в Java и начать использовать ее, вам придется изучить порядочный ворох классов. Вдобавок не менее важно понять и изучить эволюцию библиотеки ввода/вывода, несмотря на вашу очевидную реакцию: «Избавьте меня от истории! Просто покажите, как работать с библиотекой!» Если не уяснить причины изменений, проведенных в библиотеке ввода/вывода, вскоре мы запутаемся в ней и не сможем твердо аргументировать сделанный нами выбор в пользу того или иного класса. В этой главе мы познакомимся с различными классами, отвечающими за ввод/вывод в библиотеке Java, а также научимся использовать их.

 

Класс File

Перед тем как перейти к классам, которые осуществляют реальные запись и чтение данных, мы рассмотрим вспомогательные инструменты библиотеки, предназначенные для работы с файлами и каталогами. Имя класса File весьма обманчиво: легко подумать, что оно всегда ссылается на файл, но это не так. Класс File может представлять как имя определенного файла, так, имена группы файлов, находящихся в каталоге. Если класс представляет каталог, его метод list() возвращает массив строк с именами всех файлов. Использовать в данной ситуации массив (а не более гибкий контейнер) очень удобно: количество файлов в каталоге фиксировано, как и размер массива, а если понадобится узнать имена файлов в другом каталоге, достаточно создать еще один объект File. Следующий раздел покажет, как использовать этот класс в совокупности с тесно связанным с ним интерфейсом FilenameFilter.



<== предыдущая лекция | следующая лекция ==>
Поиск в отсортированном массиве | Список каталогов


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.052 сек.