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