How to read file in Java – DataInputStream

1. Overview

In this example, we will DataInputStream class to read a file. A data input stream lets an application read primitive Java data types from an underlying input stream in a machine-independent way. An application uses a data output stream to write data that can later be read by a data input stream.
The readLine() from the type DataInputStream is deprecated. Sun officially announced this method cannot convert the property from bytes to characters. It’s advised to use BufferedReader.

2. Read File Using DataInputStream Example

Let's read file character by character. If you want to read file line by line then prefer BufferedReader.
package com.javaguides.javaio.fileoperations.examples;

import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;

/**
 * This Java program demonstrates how to read file in Java – DataInputStream.
 * @author javaguides.net
 */

public class DataInputStreamExample {
 public static void main(String[] args) {
  try(InputStream input = new FileInputStream("C:/sample.txt");  
     DataInputStream inst = new DataInputStream(input);){  
     int count = input.available(); 
     
     byte[] ary = new byte[count];  
     inst.read(ary);  
     for (byte bt : ary) {  
       char k = (char) bt;  
       System.out.print(k+"-");  
     }  
     } catch (IOException e) {
  e.printStackTrace();
     }
 }
}

3. Reference

Comments