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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。