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