Java函数演示:如何从文件中读取数据?
发布时间:2023-06-09 09:21:22
在Java中,读取文件数据需要使用IO(Input/Output)流,并且需要使用File类来操作文件。
读取文件包括以下几个步骤:
1. 创建File对象:需要提供文件的路径和名称。
例如:
File file = new File("C:/test.txt");
2. 创建FileInputStream对象:把File对象作为参数传入,用于读取文件中的数据。
例如:
FileInputStream inputStream = new FileInputStream(file);
3. 创建BufferedInputStream对象:将FileInputStream对象作为参数传入,用于缓存文件中的数据,提高读取效率。
例如:
BufferedInputStream bufferedInputStream = new BufferedInputStream(inputStream);
4. 读取文件内容:使用bufferedInputStream对象的read()或read(byte[] b)方法,读取文件中的数据。
例如:
byte[] buffer = new byte[1024];
int bytesRead = 0;
while ((bytesRead = bufferedInputStream.read(buffer)) != -1) {
// 使用读取到的数据处理
}
其中,buffer是用来存储读取到的数据的缓存器,bytesRead是每次读取的字节数量,如果读到文件末尾,返回-1。
5. 关闭输入流:使用close()方法,关闭打开的输入流。
例如:
inputStream.close(); bufferedInputStream.close();
完整的读取文件示例代码如下:
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class ReadFileDemo {
public static void main(String[] args) throws IOException {
// 1. 创建File对象
File file = new File("C:/test.txt");
// 2. 创建FileInputStream对象
FileInputStream inputStream = new FileInputStream(file);
// 3. 创建BufferedInputStream对象
BufferedInputStream bufferedInputStream = new BufferedInputStream(inputStream);
// 4. 读取文件内容
byte[] buffer = new byte[1024];
int bytesRead = 0;
while ((bytesRead = bufferedInputStream.read(buffer)) != -1) {
// 使用读取到的数据处理
System.out.println(new String(buffer, 0, bytesRead));
}
// 5. 关闭输入流
inputStream.close();
bufferedInputStream.close();
}
}
需要注意的是,使用IO流读取文件时,可能会抛出IOException异常,需要进行处理。另外,在使用完流后也需要及时关闭流,以释放资源。
