Java中的 PushbackReader unread() 方法和示例
Java中PushbackReader类的unread()方法分为三种:
- Java中PushbackReader类的unread(int c)方法用于通过将字符复制到回推缓冲区的前面来回推字符。撤销此方法后,当读取下一个字符时,它的值等于传递的参数。
句法:
public void unread(int c) throws IOException
参数:此方法接受一个参数 c,该参数表示要被推回的字符的整数值。
返回值:此方法不返回任何值。
异常:如果推回缓冲区已满或发生 I/O 错误,此方法将引发IOException 。
下面的程序说明了 IO 包中 PushbackReader 类的 unread(int) 方法:
方案一:
// Java program to illustrate // PushbackReader unread(int) method import java.io.*; public class GFG { public static void main(String[] args) throws IOException { // Create string String str = "GEEKS"; // Create stringReader StringReader strReader = new StringReader(str); // Create object of // PushbackReader PushbackReader pushbackReader = new PushbackReader(strReader, 100); for (int i = 0; i < str.length(); i++) { System.out.print( (char)pushbackReader.read()); } // Call unread() method pushbackReader.unread(65); System.out.print( "\n" + (char)pushbackReader.read()); } }
输出:GEEKS A
方案二:
// Java program to illustrate // PushbackReader unread(int) method import java.io.*; public class GFG { public static void main(String[] args) throws IOException { // Create string String str = "GEEKSFORGEEKS"; // Create stringReader StringReader strReader = new StringReader(str); // Create object of // PushbackReader PushbackReader pushbackReader = new PushbackReader(strReader, 100); for (int i = 0; i < str.length(); i++) { System.out.print( (char)pushbackReader.read()); } // Call unread() method pushbackReader.unread('Z'); System.out.print( "\n" + (char)pushbackReader.read()); } }
输出:GEEKSFORGEEKS Z
- Java中PushbackReader类的unread(char[] cbuf)方法用于通过将字符数组复制到回推缓冲区的前面来回推字符数组。撤销此方法后,当读取下一个字符时,它的值等于字符数组的第一个元素。
句法:
public void unread(char[] cbuf) throws IOException
参数:该方法接受一个参数cbuf ,表示要被推回的字符数组。
返回值:此方法不返回任何值。
异常:如果推回缓冲区已满或发生 I/O 错误,此方法将引发IOException 。
下面的程序说明了 IO 包中 PushbackReader 类的 unread(char[]) 方法:
方案一:
// Java program to illustrate // PushbackReader unread(char[]) method import java.io.*; public class GFG { public static void main(String[] args) throws IOException { // Create string String str = "GEEKS"; // Create stringReader StringReader strReader = new StringReader(str); // Create object of // PushbackReader PushbackReader pushbackReader = new PushbackReader(strReader, 100); for (int i = 0; i < str.length(); i++) { System.out.print( (char)pushbackReader.read()); } // Create character array char[] cbuf = new char[] { 'A', 'B', 'C' }; // Call unread() method pushbackReader.unread(cbuf); System.out.println(); for (int i = 0; i < cbuf.length; i++) { System.out.print( (char)pushbackReader.read()); } } }
输出:GEEKS ABC
方案二:
// Java program to illustrate // PushbackReader unread(char[]) method import java.io.*; public class GFG { public static void main(String[] args) throws IOException { // Create string String str = "GEEKSFORGEEKS"; // Create stringReader StringReader strReader = new StringReader(str); // Create object of // PushbackReader PushbackReader pushbackReader = new PushbackReader(strReader, 100); for (int i = 0; i < str.length(); i++) { System.out.print( (char)pushbackReader.read()); } // Create character array char[] cbuf = new char[] { 'X', 'Y', 'Z' }; // Call unread() method pushbackReader.unread(cbuf); System.out.println(); for (int i = 0; i < cbuf.length; i++) { System.out.print( (char)pushbackReader.read()); } } }
输出:GEEKSFORGEEKS XYZ
- Java中PushbackReader类的unread(char[] cbuf, int offset, int length)方法用于通过将字符数组的一部分复制到回推缓冲区的前面来回推字符数组的一部分。撤销此方法后,当读取下一个字符时,它的值等于给定字符数组部分的第一个元素。
句法:
public void unread(char[] cbuf, int offset, int length) throws IOException
参数:此方法接受三个参数:
- cbuf - 它表示要推送的部分字符数组。
- offset - 它表示字符数组部分的起始索引。
- length - 它表示要推送的字符数。
返回值:此方法不返回任何值。
异常:如果推回缓冲区中没有足够的空间或发生 I/O 错误,此方法将引发IOException 。
下面的程序说明了 IO 包中 PushbackReader 类的 unread(char[], int, int) 方法:
方案一:
// Java program to illustrate // PushbackReader // unread(char[], int, int) method import java.io.*; public class GFG { public static void main(String[] args) throws IOException { // Create string String str = "GEEKS"; // Create stringReader StringReader strReader = new StringReader(str); // Create object of // PushbackReader PushbackReader pushbackReader = new PushbackReader(strReader, 100); for (int i = 0; i < str.length(); i++) { System.out.print( (char)pushbackReader.read()); } // Create character array char[] cbuf = new char[] { 'A', 'B', 'C', 'D', 'E' }; // Call unread() method pushbackReader.unread(cbuf, 2, 3); System.out.println(); for (int i = 0; i < 3; i++) { System.out.print( (char)pushbackReader.read()); } } }
输出:GEEKS CDE
方案二:
// Java program to illustrate // PushbackReader // unread(char[], int, int) method import java.io.*; public class GFG { public static void main(String[] args) throws IOException { // Create string String str = "GEEKSFORGEEKS"; // Create stringReader StringReader strReader = new StringReader(str); // Create object of // PushbackReader PushbackReader pushbackReader = new PushbackReader(strReader, 100); for (int i = 0; i < str.length(); i++) { System.out.print( (char)pushbackReader.read()); } // Create character array char[] cbuf = new char[] { 'W', 'X', 'Y', 'Z' }; // Call unread() method pushbackReader.unread(cbuf, 1, 3); System.out.println(); for (int i = 0; i < 3; i++) { System.out.print( (char)pushbackReader.read()); } } }
输出:GEEKSFORGEEKS XYZ
参考:
1. Java)
2. https://docs.oracle.com/javase/10/docs/api/java Java)
3. https://docs.oracle.com/javase/10/docs/api/java Java, int, int)