Java中的PushbackInputStream類的read()方法有兩種類型:
- Java中的PushbackInputStream類的read()方法用於從輸入流中讀取下一個數據字節。此方法以整數形式從輸入流返回讀取的字節。
用法:
public int read() throws IOException
覆蓋:此方法覆蓋FilterInputStream類的read()方法。
參數:此方法不接受任何參數。
返回值:此方法返回流的下一個字節。如果流結束,則返回-1。
異常:如果通過調用同一類的close()方法關閉輸入流,或者發生I /O錯誤,則此方法將引發IOException。
以下示例程序旨在說明IO包中的PushbackInputStream類的read()方法:
程序1:
// Java program to illustrate // PushbackInputStream read() 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.println( "Char:" + (char)pushbackInputStr.read()); } } }
輸出:Char:G Char:E Char:E Char:K Char:S
程序2:
// Java program to illustrate // PushbackInputStream read() 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.println( "Char:" + (char)pushbackInputStr.read()); } } }
輸出:Char:G Char:E Char:E Char:K Char:S Char:F Char:O Char:R Char:G Char:E Char:E Char:K Char:S
- Java中的PushbackInputStream類的read(byte [],int,int)方法用於從輸入流中讀取多達給定字節的數據到字節數組中。此方法一次不讀取一個字符,而是一次讀取多個字符。
用法:
public int read(byte[] b, int offset, int length) throws IOException
覆蓋:此方法覆蓋FilterInputStream類的read()方法。
參數:此方法不接受三個參數:
- b-它表示讀取數據的字節數組。
- offset-它表示數組中的起始索引。
- length-它表示要讀取的字節數。
返回值:此方法返回讀取的字節總數。如果流結束,則返回-1。
異常:
- NullPointerException -如果字節數組為null,則此方法引發NullPointerException。
- IndexOutOfBoundsException-如果offset為負或length為負或length大於數組和offset的長度之差,則此方法引發IndexOutOfBoundsException。
- IOException-如果通過調用同一類的close()方法關閉輸入流,或者發生I /O錯誤,則此方法將引發IOException。
以下示例程序旨在說明IO包中PushbackInputStream類的read(byte [],int,int)方法:
程序1:
// Java program to illustrate // PushbackInputStream // read(byte[], int, int) method import java.io.*; public class GFG { public static void main(String[] args) throws IOException { // Create buffer byte[] b = new byte[1024]; // 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); pushbackInputStr.read(b, 0, 4); for (int i = 0; i < 4; i++) { System.out.print((char)b[i]); } } }
輸出:GEEK
程序2:
// Java program to illustrate // PushbackInputStream // read(byte[], int, int) method import java.io.*; public class GFG { public static void main(String[] args) throws IOException { // Create buffer byte[] b = new byte[1024]; // 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); pushbackInputStr.read(b, 8, 5); for (int i = 8; i < 13; i++) { System.out.print((char)b[i]); } } }
輸出:GEEKS
參考文獻:
1. https://docs.oracle.com/javase/10/docs/api/java/io/PushbackInputStream.html#read()
2. https://docs.oracle.com/javase/10/docs/api/java/io/PushbackInputStream.html#read(byte%5B%5D, int, int)
相關用法
- Java PushbackInputStream available()用法及代碼示例
- Java PushbackInputStream markSupported()用法及代碼示例
- Java PushbackInputStream mark()用法及代碼示例
- Java PushbackInputStream unread()用法及代碼示例
- Java PushbackInputStream reset()用法及代碼示例
- Java PushbackInputStream skip()用法及代碼示例
- Java PushbackInputStream close()用法及代碼示例
- Java ObjectInputStream read()用法及代碼示例
- Java BufferedReader read()用法及代碼示例
- Java CharArrayReader read()用法及代碼示例
- Java PushbackReader read()用法及代碼示例
- Java StringReader read()用法及代碼示例
- Java Reader read()用法及代碼示例
- Java BufferedInputStream read()用法及代碼示例
- Java DataInputStream read()用法及代碼示例
- Java ByteArrayInputStream read()用法及代碼示例
- Java StringReader read(char[])用法及代碼示例
- Java StringReader read(CharBuffer)用法及代碼示例
- Java StringReader read(char[], int, int)用法及代碼示例
- Java CharArrayReader read(CharBuffer)用法及代碼示例
注:本文由純淨天空篩選整理自pp_pankaj大神的英文原創作品 PushbackInputStream read() method in Java with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。