DataInputStream
Read byte array from file with DataInputStream
With this example we are going to demonstrate how to read a byte array from a file with the DataInputStream. The DataInputStream lets an application read primitive Java data types from an underlying input stream in a machine-independent way. In short, to read a byte array from a file with the DataInputStream you should:
- Create a FileInputStream by opening a connection to an actual file, the file named by the path name name in the file system.
- Create a DataInputStream with the FileInputStream.
- Use
read(byte[] b)
API method. It reads the given byte array.
Let’s take a look at the code snippet that follows:
package com.javacodegeeks.snippets.core; import java.io.DataInputStream; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; public class ReadByteArrayFromFileWithDataInputStream { public static void main(String[] args) { String filename = "input.txt"; FileInputStream fis = null; DataInputStream dis = null; try { fis = new FileInputStream(filename); dis = new DataInputStream(fis); byte b[] = new byte[10]; dis.read(b); } catch (FileNotFoundException fe) { System.out.println("File not found: " + fe); } catch (IOException ioe) { System.out.println("Error while reading file: " + ioe); } finally { try { if (dis != null) { dis.close(); } if (fis != null) { fis.close(); } } catch (Exception e) { System.out.println("Error while closing streams" + e); } } } }
This was an example of how to read a byte array from a file with the DataInputStream in Java.