Java中的PushbackInputStream類的unread()方法具有三種類型:
- Java中PushbackInputStream類的unread(int b)方法用於通過將字節複製到推回緩衝區的前麵來推回字節。取消此方法後,讀取下一個字節時,其值等於傳遞的參數。
用法:
public void unread(int b) throws IOException
參數:該方法接受一個參數b,該參數b表示要推回的整數值。
返回值:此方法不返回任何值。
異常:如果通過調用同一類的close()方法關閉了輸入流,或者如果推回緩衝區中沒有足夠的空間用於該字節,則此方法將引發IOException。
以下示例程序旨在說明IO包中的PushbackInputStream類的unread(int)方法:
程序1:
// Java program to illustrate // PushbackInputStream unread(int) method import java.io.*; public class GFG { public static void main(String[] args) throws IOException { // Create an array byte[] byteArray = new byte[] { 'G', 'E', 'E', 'K', 'S' }; // Create inputStream InputStream inputStr = new ByteArrayInputStream(byteArray); // Create object of // PushbackInputStream PushbackInputStream pushbackInputStr = new PushbackInputStream(inputStr); for (int i = 0; i < byteArray.length; i++) { System.out.print( (char)pushbackInputStr.read()); } // Call unread() method pushbackInputStr.unread(65); System.out.print( "\n" + (char)pushbackInputStr.read()); } }
輸出:GEEKS A
程序2:
// Java program to illustrate // PushbackInputStream unread() method import java.io.*; public class GFG { public static void main(String[] args) throws IOException { // Create an array byte[] byteArray = new byte[] { 'G', 'E', 'E', 'K', 'S', 'F', 'O', 'R', 'G', 'E', 'E', 'K', 'S' }; // Create inputStream InputStream inputStr = new ByteArrayInputStream(byteArray); // Create object of // PushbackInputStream PushbackInputStream pushbackInputStr = new PushbackInputStream(inputStr); for (int i = 0; i < byteArray.length; i++) { System.out.print( (char)pushbackInputStr.read()); } // Call unread() method pushbackInputStr.unread(90); System.out.print( "\n" + (char)pushbackInputStr.read()); } }
輸出:GEEKSFORGEEKS Z
- Java中PushbackInputStream類的unread(byte [] b)方法用於通過將字節數組複製到推回緩衝區的前麵來推回字節數組。取消此方法後,讀取下一個字節時,其值等於字節數組的第一個元素。
用法:
public void unread(byte[] b) throws IOException
參數:該方法接受一個參數b,該參數b表示要回退的字節數組。
返回值:此方法不返回任何值。
異常:如果通過調用同一類的close()方法關閉了輸入流,或者如果推回緩衝區中沒有足夠的空間用於數組字節,則此方法將引發IOException。
以下示例程序旨在說明IO包中PushbackInputStream類的unread(byte [])方法:
程序1:
// Java program to illustrate // PushbackInputStream unread(byte[]) method import java.io.*; public class GFG { public static void main(String[] args) throws IOException { // Create an array byte[] byteArray = new byte[] { 'G', 'E', 'E', 'K', 'S' }; // Create inputStream InputStream inputStr = new ByteArrayInputStream(byteArray); // Create object of // PushbackInputStream PushbackInputStream pushbackInputStr = new PushbackInputStream(inputStr, 100); for (int i = 0; i < byteArray.length; i++) { System.out.print( (char)pushbackInputStr.read()); } // Create byte array byte[] b = new byte[] { 'A', 'B', 'C' }; // Call unread() method pushbackInputStr.unread(b); System.out.println(); for (int i = 0; i < b.length; i++) { System.out.print( (char)pushbackInputStr.read()); } } }
輸出:GEEKS ABC
程序2:
// Java program to illustrate // PushbackInputStream unread(byte[]) method import java.io.*; public class GFG { public static void main(String[] args) throws IOException { // Create an array byte[] byteArray = new byte[] { 'G', 'E', 'E', 'K', 'S', 'F', 'O', 'R', 'G', 'E', 'E', 'K', 'S' }; // Create inputStream InputStream inputStr = new ByteArrayInputStream(byteArray); // Create object of // PushbackInputStream PushbackInputStream pushbackInputStr = new PushbackInputStream(inputStr, 100); for (int i = 0; i < byteArray.length; i++) { System.out.print( (char)pushbackInputStr.read()); } // Create byte array byte[] b = new byte[] { 'X', 'Y', 'Z' }; // Call unread() method pushbackInputStr.unread(b); System.out.println(); for (int i = 0; i < b.length; i++) { System.out.print( (char)pushbackInputStr.read()); } } }
輸出:GEEKSFORGEEKS XYZ
- Java中的PushbackInputStream類的unread(byte [] b,int偏移量,int長度)方法用於通過將字節數組的一部分複製到推回緩衝區的前麵來推回一部分字節數組。取消此方法後,當讀取下一個字節時,其值等於給定字節數組部分的第一個元素。
用法:
public void unread(byte[] b, int offset, int length) throws IOException
參數:此方法接受三個參數:
- b-它表示要推送其一部分的字節數組。
- offset-它表示字節數組部分的起始索引。
- length-它表示要推送的字節數。
返回值:此方法不返回任何值。
異常:如果通過調用同一類的close()方法關閉了輸入流,或者如果推回緩衝區中沒有足夠的空間用於數組字節,則此方法將引發IOException。
以下示例程序旨在說明IO包中PushbackInputStream類的unread(byte [],int,int)方法:
程序1:
// Java program to illustrate // PushbackInputStream // unread(byte[], int, int) method import java.io.*; public class GFG { public static void main(String[] args) throws IOException { // Create an array byte[] byteArray = new byte[] { 'G', 'E', 'E', 'K', 'S' }; // Create inputStream InputStream inputStr = new ByteArrayInputStream(byteArray); // Create object of // PushbackInputStream PushbackInputStream pushbackInputStr = new PushbackInputStream(inputStr, 100); for (int i = 0; i < byteArray.length; i++) { System.out.print( (char)pushbackInputStr.read()); } // Create byte array byte[] b = new byte[] { 'A', 'B', 'C', 'D', 'E' }; // Call unread() method pushbackInputStr.unread(b, 2, 3); System.out.println(); for (int i = 0; i < 3; i++) { System.out.print( (char)pushbackInputStr.read()); } } }
輸出:GEEKS CDE
程序2:
// Java program to illustrate // PushbackInputStream // unread(byte[], int, int) method import java.io.*; public class GFG { public static void main(String[] args) throws IOException { // Create an array byte[] byteArray = new byte[] { 'G', 'E', 'E', 'K', 'S', 'F', 'O', 'R', 'G', 'E', 'E', 'K', 'S' }; // Create inputStream InputStream inputStr = new ByteArrayInputStream(byteArray); // Create object of // PushbackInputStream PushbackInputStream pushbackInputStr = new PushbackInputStream(inputStr, 100); for (int i = 0; i < byteArray.length; i++) { System.out.print( (char)pushbackInputStr.read()); } // Create byte array byte[] b = new byte[] { 'W', 'X', 'Y', 'Z' }; // Call unread() method pushbackInputStr.unread(b, 1, 3); System.out.println(); for (int i = 0; i < 3; i++) { System.out.print( (char)pushbackInputStr.read()); } } }
輸出:GEEKSFORGEEKS XYZ
參考文獻:
1. https://docs.oracle.com/javase/10/docs/api/java/io/PushbackInputStream.html#unread(int)
2. https://docs.oracle.com/javase/10/docs/api/java/io/PushbackInputStream.html#unread(byte%5B%5D)
3. https://docs.oracle.com/javase/10/docs/api/java/io/PushbackInputStream.html#unread(byte%5B%5D, int, int)
相關用法
- Java PushbackReader unread()用法及代碼示例
- Java PushbackInputStream available()用法及代碼示例
- Java PushbackInputStream read()用法及代碼示例
- Java PushbackInputStream mark()用法及代碼示例
- Java PushbackInputStream close()用法及代碼示例
- Java PushbackInputStream skip()用法及代碼示例
- Java PushbackInputStream reset()用法及代碼示例
- Java PushbackInputStream markSupported()用法及代碼示例
- Java Java.io.PushbackInputStream用法及代碼示例
- Java Java lang.Long.highestOneBit()用法及代碼示例
- Java Java.util.Collections.disjoint()用法及代碼示例
- Java Java lang.Long.byteValue()用法及代碼示例
- Java Java lang.Long.numberOfLeadingZeros()用法及代碼示例
- Java Java.util.Collections.rotate()用法及代碼示例
- Java Java lang.Long.numberOfTrailingZeros()用法及代碼示例
- Java Java lang.Long.builtcount()用法及代碼示例
- Java Java lang.Long.reverse()用法及代碼示例
- Java Java lang.Long.lowestOneBit()用法及代碼示例
- Java Clock withZone()用法及代碼示例
注:本文由純淨天空篩選整理自pp_pankaj大神的英文原創作品 PushbackInputStream unread() method in Java with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。