DataOutputStream
lets you write Java primitive data types (like int
, float
, double
, char
, boolean
) to an output stream in a machine-independent way. It’s usually paired with an OutputStream
like FileOutputStream
or ByteArrayOutputStream
.
Commonly Used Constructors and Methods


Simple Program – Writing Primitives to File
Mahesh wants to store LotusJavaPrince
‘s employee ID, name, and salary in a binary file using DataOutputStream
.
import java.io.*; public class SimpleDataOutputStreamExample { public static void main(String[] args) { try (DataOutputStream dos = new DataOutputStream(new FileOutputStream("employee.dat"))) { dos.writeInt(1234); // ID dos.writeUTF("LotusJavaPrince"); // Name dos.writeDouble(78000.50); // Salary System.out.println("Data written successfully."); } catch (IOException e) { e.printStackTrace(); } } }
Output:
Data written successfully.
//The actual content is binary, not human-readable.
Code language: PHP (php)
Problem Statement:
LotusJavaPrince designs a system to store multiple student records for Mahesh. Each record has:
- Roll No (int)
- Name (String)
- Percentage (float)
He uses DataOutputStream
to write the records into a binary file.
import java.io.*; public class StudentWriter { public static void main(String[] args) { try (DataOutputStream dos = new DataOutputStream(new FileOutputStream("students.dat"))) { // Student 1 dos.writeInt(1); dos.writeUTF("Mahesh"); dos.writeFloat(87.5f); // Student 2 dos.writeInt(2); dos.writeUTF("LotusJavaPrince"); dos.writeFloat(93.2f); System.out.println("Student records written successfully."); } catch (IOException e) { e.printStackTrace(); } } }
Output
Student records written successfully.
//You can use DataInputStream later to read this binary file.
Code language: PHP (php)
DataOutputStream
is perfect for writing structured binary data.
- Ensures machine-independent format, readable using
DataInputStream
. - Highly useful in serialization-like scenarios, file I/O, network protocols, and binary data formats.
- Avoids text-based formatting issues with
BufferedWriter
orPrintWriter
.