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.
