FileOutputStream
类通常用于向文件中写入数据,如果需要从文件中读取数据,应该使用 FileInputStream
类。
FileInputStream
类是 Java I/O 库中的一个类,用于从文件中读取数据的输入流。我们可以使用 read()
方法从输入流中读取字节或字符,并将其存储到缓冲区中,然后对缓冲区中的数据进行处理。
以下是一个简单的示例代码,说明如何使用 FileInputStream
类从文件中读取数据:
package com.gt.test;
import java.io.FileInputStream;
import java.io.IOException;
class test{
public static void main(String args[]) throws IOException {
try (FileInputStream inputStream = new FileInputStream("file.txt")) {
byte[] buffer = new byte[1024];
int bytesRead = inputStream.read(buffer); //从输入流中把数据读到buffer中,返回读取的数据长度
while (bytesRead != -1) {
String data = new String(buffer, 0, bytesRead);
System.out.print(data);
bytesRead = inputStream.read(buffer); // 缓冲区不够用时,下一次循环再读数据到buffer
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
在这个示例中,我们首先创建一个文件输入流,并指定文件名为 "file.txt"。然后,我们创建一个大小为 1024 的字节数组作为缓冲区,并使用 read()
方法从输入流中读取数据。接着,我们将字节数组转换为字符串,并使用 System.out.print()
方法打印字符串中的数据。最后,我们使用 while
循环反复读取数据,直到输入流中没有更多数据可读。
需要注意的是,在使用 FileInputStream
类进行文件读取操作时,需要确保文件存在,并且具有读取权限。另外,需要正确处理缓冲区的容量和位置,以避免数据不完整或丢失的情况。