InputStream read() in java

read(): This method is available in the java.io.InputStream class of Java.

Syntax:

int java.io.InputStream.read() throws IOException

This method reads the next byte of data from the input stream. The value byte is returned as an int in the range 0 to 255.

If no byte is available because the end of the stream has been reached, the value -1 is returned. This method blocks until input data is available, the end of the stream is detected, or an exception is thrown.

Parameters: NA

Returns: the next byte of data, or -1 if the end of the stream is reached.

Throws:

IOException - if an I/O error occurs.

Approach 1: When no exception

Java

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;

public class InputStreamread {
    public static void main(String[] args) throws IOException {
        File file = new File("D:\\hello.txt");
        InputStream inputStream = new FileInputStream(file);

        try {
            System.out.println(inputStream.read());
        } catch (IOException e) {
            System.out.println("IOException occurs");
        }

        inputStream.close();
    }
}

Output:

-1


Approach 2: IOException 

Java

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;

public class InputStreamread {
    public static void main(String[] args) throws IOException {
        File file = new File("D:\\hello.txt");
        InputStream inputStream = new FileInputStream(file);

        inputStream.close();
        try {
            System.out.println(inputStream.read());
        } catch (IOException e) {
            System.out.println("IOException occurs");
        }

    }
}

Output:

IOException occurs



Some other methods of InputStream

available(): This method returns an estimate of the number of bytes that can be read (or skipped over) from this input stream without blocking, which may be 0, or 0 when the end of the stream is detected.

close(): This method closes this input stream and releases any system resources associated with the stream.

mark(int):  This method marks the current position in this input stream.

markSupported(): This method tests if this input stream supports the mark and reset methods.

InputStream.nullInputStream(): This method returns a new InputStream that reads no bytes. The returned stream is initially open.

read(byte[]): This method reads some number of bytes from the input stream and stores them into the buffer array b.

read(byte[], int, int): his method reads up to len bytes of data from the input stream into an array of bytes.

readAllBytes(): This method reads all remaining bytes from the input stream.

readNBytes(int): This method reads up to a specified number of bytes from the input stream.

readNBytes(byte[], int, int): This method reads the requested number of bytes from the input stream into the given byte array.

reset(): This method repositions this stream to the position at the time the mark method was last called on this input stream.

skip(long):  This method skips over and discards n bytes of data from this input stream.

skipNBytes(long): This method skips over and discards exactly n bytes of data from this input stream.

transferTo(OutputStream): This method reads all bytes from this input stream and writes the bytes to the given output stream in the order that they are read.


No comments:

Post a Comment