Java中的 PushbackReader read() 方法和示例
Java中PushbackReader 类的read()方法用于从流中读取单个字符。此方法阻塞流直到:
- 它从流中获取了一些输入。
- 发生了一些 IOException
- 它在读取时已到达流的末尾。
句法:
public int read()
参数:此方法不接受任何参数
返回值:此方法返回一个整数值,它是从流中读取的整数值。它的范围可以从 0 到 65535。如果没有读取任何字符,则返回 -1。
异常:如果输入输出时发生错误,此方法将抛出IOException 。
下面的方法说明了 read() 方法的工作:
方案一:
// Java program to demonstrate
// PushbackReader read() 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.println("\nInteger value "
+ "of character read: "
+ ch);
System.out.println("Actual "
+ "character read: "
+ (char)ch);
}
// Close the stream using read()
pushbackReader.close();
System.out.println("Stream Closed.");
}
catch (Exception e) {
System.out.println(e);
}
}
}
输出:
Integer value of character read: 71
Actual character read: G
Integer value of character read: 101
Actual character read: e
Integer value of character read: 101
Actual character read: e
Integer value of character read: 107
Actual character read: k
Integer value of character read: 115
Actual character read: s
Stream Closed.
方案二:
// Java program to demonstrate
// PushbackReader read() 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 2 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 < 2; i++) {
ch = pushbackReader.read();
System.out.println("\nInteger value "
+ "of character read: "
+ ch);
System.out.println("Actual "
+ "character read: "
+ (char)ch);
}
// Close the stream
pushbackReader.close();
System.out.println("Stream Closed.");
}
catch (Exception e) {
System.out.println(e);
}
}
}
输出:
Integer value of character read: 71
Actual character read: G
Integer value of character read: 70
Actual character read: F
Stream Closed.
参考: https: Java/docs/api/java/io/PushbackReader.html#read–