DataInputStream и DataOutputStream
DataInputStream и DataOutputStream относятся к так называемым фильтровым классам, то есть классам, задающим фильтры для чтения и записи определенных форматов данных. Фильтровые классы не работают сами по себе, а принимают или отсылают данные простым потокам FileInputStream, FileOutputStream и т. д. Обычное создание потока вывода данных на базе класса DataOutputStream сводится к одной строке:
DataOutStream is = new DataOutStream ( new FileOutputStream ( "data.dat" ));
После того как поток создан, в него можно выводить форматированные данные. Для этого в арсенале класса DataOutputStream имеется целый набор методов writeXXX() для записи различных данных, где XXX - название типа данных. Вот так выглядит фрагмент кода для вывода в созданный нами поток data.dat:
dos.writeDouble(doubleVar); dos.writeInt(intVar); dos.writeChars(StringVar); dos.close();
Мне кажется, комментарии излишни, поскольку имена методов сами говорят о том, какой тип данных они выводят.
Ну а теперь проверим, как записались наши данные в data.dat, и заодно посмотрим, какие методы для чтения имеются в фильтровом потоке ввода данных DataInputStream:
DataInputStream dis = new DataInputStream ( new FileInputStream ("data.dat" )); doubleVar = dis.readDouble(); intVar = dis.readInt(); StringVar = dis.readLine(); dis.close();
Как видно из примера, методы чтения readXXX() класса DataInputStream практически полностью соответствуют методам writeXXX() класса DataOutputStream, за исключением методов writeChars и readLine, имеющим по неясным мне причинам различные названия.