Java中的FileInputStream方法:read()
Java中的FileInputStream类是一个输入流,它用于从文件中读取数据。FileInputStream类提供了多个读取方法,其中最常用的是read()方法。
read()方法是FileInputStream类中最基本的读取方法之一,它可以读取一个字节并返回它的整数表示。如果返回值为-1,则表示已经读取到文件的结尾。
使用read()方法读取文件的基本流程如下:
1. 创建一个FileInputStream对象,指定要读取的文件路径。
2. 根据需要定义一个byte数组来存放读取的数据。
3. 使用read()方法循环读取文件中的数据,每次读取一个字节,直到读取完全部数据。如果读取到文件末尾,则返回-1。
4. 将读取的数据存入byte数组中,可以使用BufferedInputStream类来提高读取效率。
5. 关闭FileInputStream对象,释放与文件相关的资源。
下面是一个使用read()方法读取文件数据的示例代码:
import java.io.*;
public class ReadFileExample {
public static void main(String[] args) {
try {
FileInputStream fis = new FileInputStream("example.txt");
BufferedInputStream bis = new BufferedInputStream(fis);
byte[] buffer = new byte[1024];
int bytesRead = 0;
while ((bytesRead = bis.read(buffer)) != -1) {
System.out.write(buffer, 0, bytesRead);
}
bis.close();
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
在上面的代码中,我们首先创建了一个FileInputStream对象fis,并指定要读取的文件为example.txt。然后创建了一个BufferedInputStream对象bis,用于提高读取效率。接下来定义了一个byte数组buffer,用于存储每次读取的数据。最后使用while循环读取文件中的数据,并将读取到的数据输出到控制台。
注意,在上面的代码中,我们使用了BufferedInputStream类来提高读取效率。如果不使用缓冲区,读取文件的效率将会非常低下。
使用FileInputStream类的read()方法可以读取文件中的数据,但是它只能读取一个字节。如果需要读取多个字节,可以使用read(byte[] b)方法。此外,FileInputStream类还提供了read(byte[] b, int off, int len)方法,用于读取部分数据。
