Java - Reader skip(long n) method



Description

The Java Reader skip(long n) method skips characters. This method will block until some characters are available, an I/O error occurs, or the end of the stream is reached.

Declaration

Following is the declaration for java.io.Reader.skip(long n) method.

 public long skip(long n) 

Parameters

n − The number of characters to skip.

Return Value

This method returns the number of characters actually skipped.

Exception

  • IllegalArgumentException − If n is negative.

  • IOException − If an I/O error occurs.

Example - Usage of Reader skip(long n) method

The following example shows the usage of Reader skip(long n) method.

ReaderDemo.java

 package com.tutorialspoint; import java.io.IOException; import java.io.Reader; import java.io.StringReader; public class ReaderDemo { public static void main(String[] args) { String s = "Hello World"; // create a new StringReader Reader reader = new StringReader(s); try { // read the first five chars for (int i = 0; i < 5; i++) { char c = (char) reader.read(); // skip a char every time reader.skip(1); System.out.print( c); } // change line System.out.println(); // close the stream reader.close(); } catch (IOException ex) { ex.printStackTrace(); } } } 

Output

Let us compile and run the above program, this will produce the following result −

 HloWr 

Example - Skipping a few characters from a StringReader

The following example shows the usage of Reader skip(long n) method.

ReaderDemo.java

 package com.tutorialspoint; import java.io.StringReader; import java.io.IOException; public class ReaderDemo { public static void main(String[] args) { try (StringReader reader = new StringReader("HelloWorld")) { reader.skip(5); // Skip first 5 characters: "Hello" int nextChar = reader.read(); // Read the next character after skipped ones System.out.println("Next character after skip: " + (char) nextChar); } catch (IOException e) { e.printStackTrace(); } } } 

Output

Let us compile and run the above program, this will produce the following result−

 Next character after skip: W 

Explanation

  • The first 5 characters (Hello) are skipped.

  • The next character (W) is read and printed.

Example - Skipping more characters than the stream contains

The following example shows the usage of Reader skip(long n) method.

ReaderDemo.java

 package com.tutorialspoint; import java.io.StringReader; import java.io.IOException; public class ReaderDemo { public static void main(String[] args) { try (StringReader reader = new StringReader("Java")) { long skipped = reader.skip(10); // Try to skip more characters than available System.out.println("Characters actually skipped: " + skipped); int next = reader.read(); if (next == -1) { System.out.println("End of stream reached."); } else { System.out.println("Next character: " + (char) next); } } catch (IOException e) { e.printStackTrace(); } } } 

Output

Let us compile and run the above program, this will produce the following result−

 Characters actually skipped: 4 End of stream reached. 

Explanation

  • The string "Java" has only 4 characters.

  • skip(10) attempts to skip 10, but only 4 are skipped.

  • The stream reaches the end, so read() returns -1.

java_io_reader.htm
Advertisements