DataOutputStream

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 or PrintWriter.
Scroll to Top