Java中的DataInputStream類的readFully()方法有兩種類型:
- readFully(byte [] b)Java中DataInputStream類的方法用於從輸入流中讀取等於字節數組b長度的字節,並將其存儲到字節數組b中。
總合同:
在下列情況之一的情況下,將阻止readFully(byte [] b)方法:- 輸入數據可用,並且返回正常。
- 文件結束,並引發EOFException。
- 發生I /O錯誤,並引發IOException。
用法:
public final void readFully(byte[] b) throws IOException
指定者:此方法由DataInput接口的readFully()方法指定。
參數:此方法接受一個參數b,該參數b表示要在其中讀取數據的字節數組。
返回值:此方法不返回任何值。
異常:
- NullPointerException -如果字節數組為null,則拋出NullPointerException。
- EOFException-如果文件結束,則拋出EOFException。
- IOException-如果流關閉或發生其他一些I /O錯誤,則此方法將引發IOException。
以下示例程序旨在說明IO包中DataInputStream類中的readFully(byte [])方法:
程序:假設存在文件“c:/demo.txt”。
// Java program to illustrate // DataInputStream readFully(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 int count = dataInputStr.available(); // Create byte array byte[] b = new byte[count]; // Read full data into byte array dataInputStr.readFully(b); for (byte by:b) { // Print the character System.out.print((char)by); } } }
- readFully(byte [] b,int偏移量,int長度)Java中DataInputStream類的方法用於從輸入流中讀取等於通過‘length’傳遞的參數的字節,並將其存儲到字節數組b中。
總合同:
在以下情況之一的情況下,將阻止readFully(byte [],int,int)方法:- 輸入數據可用,並且返回正常。
- 文件結束,並引發EOFException。
- 發生I /O錯誤,並引發IOException。
用法:
public final void readFully(byte[] b, int offset, int length) throws IOException
指定者:此方法由DataInput接口的readFully()方法指定。
參數:此方法接受三個參數:
- b-它表示要在其中讀取數據的字節數組。
- offset-它表示字節數組中的起始索引。
- length-它表示要讀取的字節總數。
返回值:此方法不返回任何值。
異常:
- NullPointerException -如果字節數組為null,則拋出NullPointerException。
- IndexOutOfBoundsException-如果offset為負或length為負或length大於字節數組和offset的長度之差,則拋出IndexOutOfBoundsException。
- EOFException-如果文件結束,則拋出EOFException。
- IOException-如果流關閉或發生其他一些I /O錯誤,則此方法將引發IOException。
以下示例程序旨在說明IO包中DataInputStream類中的readFully(byte [],int,int)方法:
程序:假設存在文件“c:/demo.txt”。
// Java program to illustrate // DataInputStream readFully(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 int count = dataInputStr.available(); // Create byte array byte[] b = new byte[count]; // Read full data into byte array dataInputStr.readFully(b, 4, 5); 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#readFully(byte%5B%5D)
2. https://docs.oracle.com/javase/10/docs/api/java/io/DataInputStream.html#readFully(byte%5B%5D, int, int)
相關用法
- Java DataInputStream readShort()用法及代碼示例
- Java DataInputStream readBoolean()用法及代碼示例
- Java DataInputStream readByte()用法及代碼示例
- Java DataInputStream readChar()用法及代碼示例
- Java DataInputStream readUnsignedByte()用法及代碼示例
- Java DataInputStream readUnsignedShort()用法及代碼示例
- Java DataInputStream readLong()用法及代碼示例
- Java DataInputStream readInt()用法及代碼示例
- Java DataInputStream read()用法及代碼示例
- Java DataInputStream readDouble()用法及代碼示例
- Java DataInputStream readFloat()用法及代碼示例
- Java Java lang.Long.numberOfLeadingZeros()用法及代碼示例
- Java Java.util.Collections.disjoint()用法及代碼示例
- Java Java lang.Long.reverse()用法及代碼示例
- Java Java lang.Long.builtcount()用法及代碼示例
- Java Java lang.Long.numberOfTrailingZeros()用法及代碼示例
- Java Java.util.Collections.rotate()用法及代碼示例
- Java Java lang.Long.lowestOneBit()用法及代碼示例
注:本文由純淨天空篩選整理自pp_pankaj大神的英文原創作品 DataInputStream readFully() method in Java with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。