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
BufferedWriterorPrintWriter.
