Home » Java programming language

Java ByteArrayInputStream mark() Method with Example

ByteArrayInputStream Class mark() method: Here, we are going to learn about the mark() method of ByteArrayInputStream Class with its syntax and example.
Submitted by Preeti Jain, on March 02, 2020

ByteArrayInputStream Class mark() method

  • mark() method is available in java.util package.
  • mark() method is used to set the current mark position in the stream from where read or write can be reset.
  • mark() method is a non-static method, it is accessible with the class object only and if we try to access the method with the class name then we will get an error.
  • mark() method may throw an exception at the time of seeking mark position.
    IOException: This exception may throw while performing input/output operations.

Syntax:

    public void mark(int read_from_here);

Parameter(s):

  • int read_from_here – represents the mark position where reading or writing can start.

Return value:

The return type of the method is void, it returns nothing.

Example:

// Java program to demonstrate the example 
// of void mark(int read_from_here) method of
// ByteArrayInputStream

import java.io.*;

public class MarkBAIS {
    public static void main(String[] args) throws Exception {
        byte[] by = {
            97,
            98,
            98,
            99
        };

        // Instantiates ByteArrayInputStream 
        ByteArrayInputStream byte_s = new ByteArrayInputStream(by);

        // By using available() method is to
        // return the no. of bytes to be left 
        // for reading
        Integer n_byte = byte_s.available();
        System.out.println("Left avail bytes = " + n_byte);

        // Read character from the stream
        char ch1 = (char) byte_s.read();
        char ch2 = (char) byte_s.read();
        char ch3 = (char) byte_s.read();

        System.out.println("ch1: " + ch1);
        System.out.println("ch2 : " + ch2);

        System.out.println("byte_s.mark(5): ");
        // By using mark() method isto
        // set the limit the number of byte
        // to be read 
        byte_s.mark(5);
        System.out.println("ch3: " + ch3);

        System.out.println("buff_str.reset(): ");
        // reset stream by using reset()
        byte_s.reset();

        // Read from the stread
        char ch4 = (char) byte_s.read();
        char ch5 = (char) byte_s.read();

        // Display character
        System.out.println("ch4: " + ch4);
        System.out.println("ch5: " + ch5);
        byte_s.close();
    }
}

Output

Left avail bytes = 4
ch1: a
ch2 : b
byte_s.mark(5):
ch3: b
buff_str.reset():
ch4: c
ch5: ?


Comments and Discussions!

Load comments ↻





Copyright © 2024 www.includehelp.com. All rights reserved.