FileInputStream

Read file with FileInputStream

With this example we are going to demonstrate how to read a File with a FileInputStream. The FileInputStream obtains input bytes from a file in a file system. In short, to read a File with a FileInputStream 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 StringBuffer with no characters in it and an initial capacity of 16 characters.
  • Read data from the file using read() API method of FileinputStream and append it to the StringBuffer, using append(char c) API method of StringBuffer.
  • Close the stream using 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 ReadFileWithFileInputStream {

public static void main(String[] args) {
		
		File file = new File("inputfile.txt");
		
		FileInputStream fin = null;
		
		int ch;
		StringBuffer sb = new StringBuffer();

		try {			
			// create FileInputStream object
			fin = new FileInputStream(file);
			// Read bytes of data from this input stream
			while((ch = fin.read()) != -1) {
				sb.append((char)ch);
			}			 
			System.out.println("File content: " + sb);
		}
		catch (FileNotFoundException e) {
			System.out.println("File not found" + e);
		}
		catch (IOException ioe) {
			System.out.println("Exception while reading file " + ioe);
		}
		finally {
			// close the stream 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 with a FileInputStream in Java.

Ilias Tsagklis

Ilias is a software developer turned online entrepreneur. He 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
Inline Feedbacks
View all comments
Back to top button