Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Неизмененные классы

Читайте также:
  1. Static внутренние классы
  2. Абстрактные классы
  3. Абстрактные методы и классы
  4. Внутренние классы
  5. Внутренние классы в методе и контексте
  6. Внутренние классы и структуры управления
  7. Группы поддержки, классы и мастерские
  8. Девятирунный расклад. Классы значений
  9. Зачем внутренние классы?
  10. И 2 классы относятся к безопасным условиям труда.

Некоторые классы остались неизменными при переходе от Java 1.0 к Java 1.1:

Классы Java 1.0 не имеющие соответствующих классов в Java 1.1
DataOutputStream
File
RandomAccessFile
SequenceInputStream

DataOutputStream, в основном, используется без изменений, так что для хранения и получения данных в транспортабельном формате, используй те иерархии InputStream и OutputStream.

Сам по себе: RandomAccessFile

RandomAccessFile используется для файлов, содержащих записи известного размера, так что вы можете переместиться от одной записи к другой, используя seek(), затем прочесть или изменить запись. Записи могут и не быть одинакового размера; вы просто способны определить их размер и их положение в файле.

Сначала немного трудно поверить, что RandomAccessFile не является частью иерархии InputStream или OutputStream. Однако он не имеет ассоциаций с этими иерархиями, за исключением того, что он реализует интерфейсы DataInput и DataOutput (которые так же реализуются DataInputStream и DataOutputStream). Он даже не использует любую функциональность существующих классов InputStream или OutputStream - это полностью отдельный класс, написанный для поиска, имеющий все свои собственные (в большинстве своем родные) методы. Объяснением этого может быть то, что RandomAccessFile имеет во многом отличающееся поведение по сравнению с остальными типами ввода/вывода, так как вы можете перемещаться вперед и назад в пределах файла. В любом случае, он стоит отдельно, как прямой потомок от Object.

По существу, RandomAccessFile работает как DataInputStream совмещенный с DataOutputStream, благодаря использованию методов getFilePointer() для нахождения местоположения в файле, seek() для перемещения в новую точку в файле и length() для определения максимального размера файла. Кроме того, конструктор требует второй аргумент (что идентично fopen() в C), указывающий будите ли вы производить только чтение в произвольном порядке ("r") или чтение и запись ("rw"). Нет поддержки для файлов только для чтения, что может сказать о том, что RandomAccessFile мог бы хорошо работать, если он наследовался бы от DataInputStream.

Метод поиска есть только у RandomAccessFile, который работает только с файлами. BufferedInputStream позволяет вам выполнять маркировку позиции с помощью метода mark() (чье значение содержится в единственной внутренней переменной) и сброс этой позиции методом reset(), но это ограничено и не очень полезно.




Дата добавления: 2015-09-11; просмотров: 27 | Поможем написать вашу работу | Нарушение авторских прав

Повторное выбрасывание исключений | Особый случай RuntimeException | Для чего нужно finally? | Ограничения исключений | Конструкторы | Упражнения | Список директории | Поиск и создание директориев | Ввод и вывод | Чтение из InputStream с помощью FilterInputStream |


lektsii.net - Лекции.Нет - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав