Читайте также:
|
|
Дополнением к DataInputStream является DataOutputStream, который форматирует каждый из примитивных типов и объекты String в поток, таким образом, которым любой DataInputStream на любой машине смог бы прочесть его. Все методы начинаются со слова "write", например writeByte(), writeFloat() и т.п.
Изначальное предназначение PrintStream было в печати всех примитивных типов данных и объектов String в удобочитаемом формате. Он отличается от DataOutputStream, чья цель состоит в помещении элементов данных в поток таким способом, чтобы DataInputStream мог без труда реконструировать их.
Двумя важнейшими методами PrintStream являются print() и println(), которые перегружены для печати всех различных типов. Различия между print() и println() в том, что последний метод добавляет символ новой строки, когда завершен вывод.
PrintStream может быть проблематичным, поскольку он ловит все IOException (вы должны явно проверять статус ошибки с помощью checkError(), который возвращает true, если возникла ошибка). Так же PrintStream не интернацианализован полностью и не обрабатывает переводы строки платформонезависимым способом (эти проблемы решаются с помощью PrintWriter).
BufferedOutputStream является модификатором и говорит потоку, что нужно использовать буферизацию, так что вы не получите физической записи при каждой записи в поток. Вы, вероятно, всегда захотите использовать это с файлами, и, возможно, при консольном вводе/выводе.
Таблица 11-4. Типы FilterOutputStream
Класс | Функции | Аргументы конструктора |
Как это использовать | ||
Data-OutputStream | Используется совместно с DataInputStream, так что вы можете писать примитивные типы (int, char, long и т.п.) в поток портативным образом. | OutputStream |
Содержит полный интерфейс, чтобы позволить вам записывать примитивные типы. | ||
PrintStream | Для произведения форматированного вывода. В то время как DataOutputStream обрабатывает хранилище данных, PrintStream обрабатывает отображение. | OutputStream, с необязательным boolean, указывающим, что буфер будет принудительно освобождаться с каждой новой строкой. |
Должен быть в финале оборачивать ваш объект OutputStream. Вы, вероятно, часто будете использовать его. | ||
Buffered-OutputStream | Используйте это для предотвращения физической записи при каждой посылке данных. Вы говорите "Используй буфер". Вы вызываете flush() для очистки буфера. | OutputStream, с необязательным размером буфера. |
Это не обеспечивает сам по себе интерфейс, просто является требованием использования буфера. Присоединяется к объекту интерфейса. |
Дата добавления: 2015-09-11; просмотров: 80 | Поможем написать вашу работу | Нарушение авторских прав |