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.

Byron Kiourtzoglou

Byron is a master software engineer working in the IT and Telecom domains. He is an applications developer in a wide variety of applications/services. He is currently acting as the team leader and technical architect for a proprietary service creation and integration platform for both the IT and Telecom industries in addition to a in-house big data real-time analytics solution. He is always fascinated by SOA, middleware services and mobile development. Byron is co-founder and Executive Editor at Java Code Geeks.
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Back to top button