Java中的DataInputStream類的read()方法有兩種類型:
- 讀取(字節[] b)Java中的DataInputStream類的方法用於從輸入流中讀取字節並將其存儲到緩衝區字節數組中。此read()方法以整數類型返回實際讀取的字節數。如果輸入流結束並且沒有更多數據可讀取,則此方法返回-1。如果字節數組為null,則此方法引發異常。
用法:
public final int read(byte[] b) throws IOException
覆蓋:此方法覆蓋FilterInputStream類的read()方法。
參數:此方法接受一個參數b,該參數b表示要在其中讀取數據的字節數組。
返回值:此方法返回實際讀取的字節數。如果輸入流結束並且沒有更多數據可讀取,則返回-1。
異常:
- NullPointerException -如果字節數組為null,則拋出NullPointerException。
- IOException-如果流關閉或發生其他一些I /O錯誤,則此方法將引發IOException。
以下示例程序旨在說明IO包中DataInputStream類中的read(byte [])方法:
程序:假設存在文件“c:/demo.txt”。
// Java program to illustrate // DataInputStream read(byte[]) method import java.io.*; public class GFG { public static void main(String[] args) throws IOException { // Create input stream 'demo.txt' // for reading containing // text "GEEKSFORGEEKS" FileInputStream inputStream = new FileInputStream( "c:/demo.txt"); // Convert inputStream to // DataInputStream DataInputStream dataInputStr = new DataInputStream( inputStream); // Count the total bytes // form the input stream int count = inputStream.available(); // Create byte array byte[] b = new byte[count]; // Read data into byte array int bytes = dataInputStr.read(b); // Print number of bytes // actually read System.out.println(bytes); for (byte by:b) { // Print the character System.out.print((char)by); } } }
- 讀取(字節[] b,整數偏移量,整數長度)Java中的DataInputStream類的方法用於從輸入流中讀取指定數量的字節並將其存儲到緩衝區字節數組中。此read()方法以整數類型返回實際讀取的字節數。如果輸入流結束並且沒有更多數據可讀取,則此方法返回-1。如果字節數組為null,則此方法引發異常。
用法:
public final 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-如果流關閉或發生其他一些I /O錯誤,則此方法將引發IOException。
以下示例程序旨在說明IO包中DataInputStream類中的read(byte [],int,int)方法:
程序:假設存在文件“c:/demo.txt”。
// Java program to illustrate // DataInputStream read(byte[], int, int) method import java.io.*; public class GFG { public static void main(String[] args) throws IOException { // Create input stream 'demo.txt' // for reading containing // text "GEEKSFORGEEKS" FileInputStream inputStream = new FileInputStream( "c:/demo.txt"); // Convert inputStream to // DataInputStream DataInputStream dataInputStr = new DataInputStream( inputStream); // Count the total bytes // form the input stream int count = inputStream.available(); // Create byte array byte[] b = new byte[count]; // Read data into byte array int bytes = dataInputStr.read(b, 4, 5); // Print number of bytes // actually read System.out.println(bytes); for (byte by:b) { // Print the character System.out.print((char)by); } } }
參考文獻:
1. https://docs.oracle.com/javase/10/docs/api/java/io/DataInputStream.html#read(byte%5B%5D)
2. https://docs.oracle.com/javase/10/docs/api/java/io/DataInputStream.html#read(byte%5B%5D, int, int)
相關用法
- Java DataInputStream readLong()用法及代碼示例
- Java DataInputStream readInt()用法及代碼示例
- Java DataInputStream readByte()用法及代碼示例
- Java DataInputStream readFloat()用法及代碼示例
- Java DataInputStream readDouble()用法及代碼示例
- Java DataInputStream readChar()用法及代碼示例
- Java DataInputStream readBoolean()用法及代碼示例
- Java DataInputStream readUnsignedShort()用法及代碼示例
- Java DataInputStream readUnsignedByte()用法及代碼示例
- Java DataInputStream readFully()用法及代碼示例
- Java DataInputStream readShort()用法及代碼示例
- Java BufferedReader read()用法及代碼示例
- Java StringReader read()用法及代碼示例
- Java PushbackInputStream read()用法及代碼示例
- Java ObjectInputStream read()用法及代碼示例
- Java BufferedInputStream read()用法及代碼示例
- Java Reader read()用法及代碼示例
- Java CharArrayReader read()用法及代碼示例
- Java PushbackReader read()用法及代碼示例
- Java ByteArrayInputStream read()用法及代碼示例
注:本文由純淨天空篩選整理自pp_pankaj大神的英文原創作品 DataInputStream read() method in Java with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。