- read()Java中BufferedInputStream類的方法用於從輸入流中讀取下一個數據字節。當在輸入流上調用此read()方法時,則此read()方法一次讀取輸入流的一個字符。
用法:
public int read()
覆寫:
它重寫FilterInputStream類的read()方法。參數:此方法不接受任何參數。
返回值:此方法不返回任何值。
異常:如果輸入流已通過調用其close()方法關閉或發生I /O錯誤,則此方法將引發IOException。
以下示例程序旨在說明IO包中BufferedInputStream類中的read()方法:
程序:假設存在文件“c:/demo.txt”。
// Java program to illustrate // BufferedInputStream read() method import java.io.*; public class GFG { public static void main(String[] args) throws Exception { // Create input stream 'demo.txt' // for reading containing // text "GEEKSFORGEEKS" FileInputStream inputStream = new FileInputStream("c:/demo.txt"); // Convert inputStream to // bufferedInputStream BufferedInputStream buffInputStr = new BufferedInputStream( inputStream); // Read until a single byte is available while (buffInputStr.available() > 0) { // Read the byte and // convert the integer to character char c = (char)buffInputStr.read(); // Print the characters System.out.println("Char:" + c); } } }
- read(byte [] b,int off,int len)Java中BufferedInputStream類的方法用於將byte-input流中的字節讀入指定的字節數組,該數組從用戶給定的偏移量開始。它本質上用於在將字符保留在數組中之後開始讀取。
實現方式:
- 在此方法的實現中,一次又一次調用read()方法。在調用此方法時,如果找到IOException,則它將調用中的異常返回到read(byte [] b,int off,int len)方法。
- 如果進一步發現任何IOException,則它將捕獲異常,並且應該終止輸入文件。
- 至此為止讀取的字節存儲在字節數組b中,並且返回發生異常之前讀取的字節數。
用法:
public int read(byte[] b, int off, int len)
覆寫:
它重寫FilterInputStream類的read()方法。參數:此方法接受三個參數。
- b-它代表目標緩衝區。
- off-它代表開始存儲字節的偏移量。
- len-它表示要讀取的最大字節數。
返回值:此方法不返回任何值。
異常:如果輸入流已通過調用其close()方法關閉或發生I /O錯誤,則此方法將引發IOException。
以下示例程序旨在說明IO包中BufferedInputStream類中的read(byte,int,int)方法:
程序:假設存在文件“c:/demo.txt”。
// Java program to illustrate // BufferedInputStream // read(byte int int) method import java.io.*; public class GFG { public static void main(String[] args) { // Create input stream 'demo.txt' // for reading containing // text "GEEKSFORGEEKS" FileInputStream inputStream = new FileInputStream("c:/demo.txt"); // Convert inputStream to // bufferedInputStream BufferedInputStream buffInputStr = new BufferedInputStream( inputStream); // Read number of bytes available int rem_byte = buffInputStr.available(); // Byte array is declared byte[] barr = new byte[rem_byte]; // Read byte into barr, // starts at offset 1, // 5 bytes to read buffInputStr.read(barr, 1, 5); // For each byte in barr for (byte b:barr) { if (b == (byte)0) b = (byte)'-'; System.out.print((char)b); } } }
參考文獻:
1. https://docs.oracle.com/javase/10/docs/api/java/io/BufferedInputStream.html#read()
2. https://docs.oracle.com/javase/10/docs/api/java/io/BufferedInputStream.html#read(byte%5B%5D, int, int)
相關用法
- Java BufferedInputStream markSupported()用法及代碼示例
- Java BufferedInputStream reset()用法及代碼示例
- Java BufferedInputStream close()用法及代碼示例
- Java BufferedInputStream mark()用法及代碼示例
- Java BufferedInputStream skip(long)用法及代碼示例
- Java BufferedInputStream available()用法及代碼示例
- Java DataInputStream read()用法及代碼示例
- Java CharArrayReader read()用法及代碼示例
- Java StringReader read()用法及代碼示例
- Java Reader read()用法及代碼示例
- Java ObjectInputStream read()用法及代碼示例
- Java PushbackInputStream read()用法及代碼示例
- Java BufferedReader read()用法及代碼示例
- Java ByteArrayInputStream read()用法及代碼示例
- Java PushbackReader read()用法及代碼示例
- Java CharArrayReader read(char[])用法及代碼示例
- Java CharArrayReader read(char[], int, int)用法及代碼示例
- Java CharArrayReader read(CharBuffer)用法及代碼示例
- Java PushbackReader read(char, int, int)用法及代碼示例
- Java StringReader read(CharBuffer)用法及代碼示例
注:本文由純淨天空篩選整理自pp_pankaj大神的英文原創作品 BufferedInputStream read() method in Java with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。