Java中的PushbackReader类的skip(long)方法用于跳过流中指定数量的字符。此字符数被指定为参数。如果通过跳过到达流的末尾,它将阻塞流,直到它获得一些字符或抛出IOException。
用法:
public long skip(long numberOfChar)
参数:此方法接受参数numberOfChar,该参数是此方法要跳过的字符数。
返回值:此方法返回一个long值,该值是此方法跳过的实际字符数。
异常:该方法抛出:
IOException:如果输入输出时发生一些错误
IllegalArgumentException:如果传递的numberOfChar为负。
下面的方法说明了skip(long)方法的用法方式:
示例1:
// Java program to demonstrate
// PushbackReader skip(long) method
import java.io.*;
import java.util.*;
class GFG {
public static void main(String[] args)
{
try {
// Initializing a StringReader
// and PushbackReader
String s = "GeeksForGeeks";
StringReader stringReader
= new StringReader(s);
PushbackReader pushbackReader
= new PushbackReader(stringReader);
// Get the character
// to be read from the stream
int ch;
// Read the first 5 characters
// to this reader using read() method
// This will put the str in the stream
// till it is read by the reader
for (int i = 0; i < 5; i++) {
ch = pushbackReader.read();
System.out.print((char)ch);
}
System.out.println();
// skip 3 characters using skip(long)
pushbackReader.skip(3);
System.out.println("Next 3 characters skipped.");
// Read the 2 characters
// to this reader using read() method
for (int i = 0; i < 2; i++) {
ch = pushbackReader.read();
System.out.print((char)ch);
}
System.out.println();
// Close the stream
pushbackReader.close();
System.out.println("Stream Closed.");
}
catch (Exception e) {
System.out.println(e);
}
}
}
输出:
Geeks
Next 3 characters skipped.
Ge
Stream Closed.
示例2:
// Java program to demonstrate
// PushbackReader skip(long) method
import java.io.*;
import java.util.*;
class GFG {
public static void main(String[] args)
{
try {
// Initializing a StringReader
// and PushbackReader
String s = "GFG";
StringReader stringReader
= new StringReader(s);
PushbackReader pushbackReader
= new PushbackReader(stringReader);
// Get the character
// to be read from the stream
int ch;
// Read the first character
// to this reader using read() method
// This will put the str in the stream
// till it is read by the reader
ch = pushbackReader.read();
System.out.print((char)ch);
System.out.println();
// skip 1 characters using skip(long)
pushbackReader.skip(1);
System.out.println("Next 1 characters skipped.");
// Read the next 1 character
// to this reader using read() method
for (int i = 0; i < 1; i++) {
ch = pushbackReader.read();
System.out.print((char)ch);
}
System.out.println();
// Close the stream
pushbackReader.close();
System.out.println("Stream Closed.");
}
catch (Exception e) {
System.out.println(e);
}
}
}
输出:
G
Next 1 characters skipped.
G
Stream Closed.