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:
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | 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.