DataOuputStream позволяет нам записывать в необходмый файл примитивные типы данных.
Этот класс имеет следующие методы:
- public final void write (byte[] w, int off, int len) throws IOException
Этот метод записывает в выходной файл массив байтов с элемента off до элемента len. В случае ошибки выдаёт IOException. - public final int write (byte [] b) throws IOexception
Этот метод записывает массив байтов в выходной файл. Возвращает общее количество записанных байтов. В случае ошибки выдаёт IOException. - public void flush() throws IOException
Этот метод “сбрасывает” выходной поток. В случае ошибки выдаёт IOException. - public void writeBytes(String s) throws IOException
Этот метод записывает строку (String) в выходной файл, как последовательность байтов. Каждый символ в строке записывается в последовательность, отбрасывая все байты после 8. - public final void write*SomeType*() throws IOException
В качестве *SomeType* могут выступать: boolean, byte, short, int.
Эти методы записывают соответствующий примитивный тип данных в выходной поток в виде байтов.
Для того, чтобы понять, как это используется на практике, рассмотрим пример простого приложения.
Пример:
import java.io.*;
public class DataOutputStreamDemo {
public static void main(String[] args) throws IOException {
DataOutputStream dataOutputStream =
new DataOutputStream(new FileOutputStream("/home/proselyte/Programming/Projects/Proselyte/JavaCore/resources/inputFile.txt"));
dataOutputStream.writeUTF("This is test message.");
DataInputStream dataInputStream =
new DataInputStream(new FileInputStream("/home/proselyte/Programming/Projects/Proselyte/JavaCore/resources/inputFile.txt"));
while (dataInputStream.available() != 0) {
String message = dataInputStream.readUTF();
System.out.println(message);
}
}
}
В результате работы программы мы получим следующий результат:
/*Some system messages*/
This is test message.
В этом уроке мы изучили основы класса DataOutputStream и рассмотрели пример простого приложения с его использованием.