InputStream skip(long) in Java

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

Syntax:

long java.io.InputStream.skip(long n) throws IOException

This method takes one argument. This method skips over and discards n bytes of data from this input stream. The skip method may, for a variety of reasons, end up skipping over some smaller number of bytes, possibly 0.

This may result from any of a number of conditions; reaching the end of the file before n bytes have been skipped is only one possibility.

The actual number of bytes skipped is returned. If n is negative, the skip method for class InputStream always returns 0, and no bytes are skipped.

Parameters: One parameter is required for this method.

n: the number of bytes to be skipped.

Returns: the actual number of bytes skipped which might be zero.

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 InputStreamskip {
    public static void main(String[] args) throws IOException {
        File file = new File("D:\\hello.txt");
        InputStream inputStream = new FileInputStream(file);

        long n = 100;

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

        inputStream.close();
    }
}

Output:

100


Approach 2: IOException 

Java

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

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

        long n = 100;

        inputStream.close();
        try {
            System.out.println(inputStream.skip(n));
        } 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(): 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.

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.

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