FileInputStream的read方法
时间: 2023-08-28 21:05:39 浏览: 80
FileInputStream的read方法是用来从输入流中读取数据的。它有多个重载方法,其中一个常用的重载方法是read(byte[] b),它会将输入流中的数据读取到指定的字节数组b中,并返回实际读取的字节数。如果到达文件末尾,read方法会返回-1。[1]
在引用[2]中的代码示例中,MyFileInputStream类继承自FileInputStream,并覆盖了read(byte[] b)方法。在这个方法中,首先调用父类的read()方法读取一个字节的数据,然后将这个字节存入字节数组b的第一个位置。接着使用一个循环,继续调用read()方法读取后续的字节,并将它们存入字节数组b的相应位置,直到数组b被填满或者到达文件末尾。最后,返回实际读取的字节数。[2]
在引用[3]中的代码示例中,使用FileInputStream的read(byte[] b)方法读取文件中的数据。首先创建一个ByteArrayOutputStream对象outStream,用于存储读取到的数据。然后创建一个字节数组buffer作为缓冲区,用于存储每次读取的数据。接着使用一个循环,每次调用read(byte[] b)方法读取数据,并将读取到的数据写入outStream中。最后,将outStream转换为字节数组data。[3]
相关问题
FileInputStream read方法
FileInputStream的read方法是从输入流中读取数据的字节,每次调用read方法都会读取一个字节,并将其作为int类型返回。如果到达文件的末尾,则返回-1表示结束。
在提供的代码示例中,通过继承FileInputStream,并覆盖read(byte b)方法,实现了从输入流中读取多个字节的功能。在覆盖的read方法中,先调用read()方法读取一个字节,如果返回-1表示已经读取到文件的末尾,否则将该字节存入数组b的第一个位置。然后通过循环,继续调用read()方法读取下一个字节,并将其存入数组b的后续位置,直到数组b已满或读取到文件的末尾。最后返回读取的字节数。
在测试代码中,使用FileInputStream和MyFileInputStream读取了两个不同格式的文件。通过循环调用read()方法,并打印读取的字节内容,实现了读取文本内容的功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
fileinputstream的read方法
FileInputStream 类中的 read() 方法用于读取文件中的数据,并将读取到的数据存储到一个字节数组中。该方法有三种重载形式:
1. int read(),读取单个字节并返回该字节,如果到达文件末尾,则返回 -1。
2. int read(byte[] b),读取整个文件并将读取到的数据存储到字节数组 b 中,返回读取到的字节数。
3. int read(byte[] b, int off, int len),读取文件的一部分并将读取到的数据存储到字节数组 b 中,off 指定从数组的哪个位置开始存储读取到的数据,len 指定要读取的字节数。返回读取到的字节数。
阅读全文