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.