1. Introduction
In this article, we are going to present several ways on how to convert File to InputStream in Java. This tutorial will cover solutions using plain Java
, Guava
, and Apache Commons IO
library.
If you are looking for more Java I/O related articles, check the following links:
2. File to InputStream using plain Java
Plain Java provides a simple straightforward solution using FileInputStream
that could be converted to DataInputStream
.
2.1. Using FileInputStream
The following example shows how to use FileInputStream
that let us read raw bytes from a file:
2.2. Using DataInputStream
DataInputStream
allows us to read Java primitives like int, float, long, etc. from InputStream
instead of only bytes. To create DataInputStream
we use constructor with InputStream
as a parameter:
3. Convert File to InputStream with Guava
In the next solution we use Guava
library that comes with many utility classes for IO operations:
In this example first, we use the ByteSource
object that is responsible for reading bytes from the file. Then we use method openStream()
that opens a new InputStream
for reading from this ByteSource
.
4. File to InputStream conversion using Apache Commons IO
library
Apache Commons IO
is one of the Java library dedicated to IO processing. The library provides special utility class FileUtils
that give us a one-line solution to convert File to InputStream:
5. Conclusion
In this article, we illustrated various ways on how to convert File
to InputStream
in Java. The solution in plain Java is pretty straightforward but we can also use libraries that are dedicated to IO processing.
The implementation of all examples used in this article is available under GitHub repository.
{{ 'Comments (%count%)' | trans {count:count} }}
{{ 'Comments are closed.' | trans }}