FileInputStream
Read file in byte array with FileInputStream
This is an example of how to read a File in a byte array using a FileInputStream. The FileInputStream obtains input bytes from a file in a file system. Reading a file in a byte array with a FileInputStream implies that you should:
- Create a new File instance by converting the given pathname string into an abstract pathname.
- 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 byte array with size equal to the file length.
- Use
read(byte[] b)API method of FileInputStream to read up to certain bytes of data from this input stream into the byte array. - Create a String from the byte array.
- Don’t forget to close the FileInputStream, using the
close()API method.
Let’s take a look at the code snippet that follows:
package com.javacodegeeks.snippets.core;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class ReadFileInByteArrayWithFileInputStream {
public static void main(String[] args) {
File file = new File("inputfile.txt");
FileInputStream fin = null;
try {
// create FileInputStream object
fin = new FileInputStream(file);
byte fileContent[] = new byte[(int)file.length()];
// Reads up to certain bytes of data from this input stream into an array of bytes.
fin.read(fileContent);
//create string from byte array
String s = new String(fileContent);
System.out.println("File content: " + s);
}
catch (FileNotFoundException e) {
System.out.println("File not found" + e);
}
catch (IOException ioe) {
System.out.println("Exception while reading file " + ioe);
}
finally {
// close the streams using close method
try {
if (fin != null) {
fin.close();
}
}
catch (IOException ioe) {
System.out.println("Error while closing stream: " + ioe);
}
}
}
}
This was an example of how to read a file in a byte array with a FileInputStream in Java.
