In this tutorial, we will learn about the Java InputStream class and its methods with the help of an example.
InputStream class is the superclass of all the io classes i.e. representing an input stream of bytes. It represents input stream of bytes. Applications that are defining subclass of InputStream must provide method, returning the next byte of input. A reset() method is invoked which re-positions the stream to the recently marked position.
public abstract class InputStream
extends Object
implements Closeable
Sr.No. | Method & Description |
---|---|
1 | int available()
This method returns an estimate of the number of bytes that can be read (or skipped over) from this input stream without blocking by the next invocation of a method for this input stream. |
2 | void close()
This method closes this input stream and releases any system resources associated with the stream. |
3 | void mark(int readlimit)
This method marks the current position in this input stream. |
4 | boolean markSupported()
This method tests if this input stream supports the mark and reset methods. |
5 | abstract int read()
This method reads the next byte of data from the input stream. |
6 | int read(byte[] b)
This method reads some number of bytes from the input stream and stores them into the buffer array b. |
7 | int read(byte[] b, int off, int len) <
This method reads up to len bytes of data from the input stream into an array of bytes. |
8 | void reset()
This method repositions this stream to the position at the time the mark method was last called on this input stream. |
9 | long skip(long n)
This method skips over and discards n bytes of data from this input stream. |
import java.io.FileInputStream;
import java.io.InputStream;
public class Main {
public static void main(String args[]) {
byte[] array = new byte[100];
try {
InputStream input = new FileInputStream("input.txt");
System.out.println("Available bytes in the file: " + input.available());
// Read byte from the input stream
input.read(array);
System.out.println("Data read from the file: ");
// Convert byte array into string
String data = new String(array);
System.out.println(data);
// Close the input stream
input.close();
}
catch (Exception e) {
e.getStackTrace();
}
}
}
Output
Available bytes in the file: 35
Data read from the file:
This is a line of text inside the file