Java 文件流
文件是计算机存储数据的一种常见形式。在Java中,我们可以使用文件流来读取和写入文件。文件流是一种用于从文件读取数据或向文件写入数据的IO流。
文件流的基本概念
在Java中,文件流是一种用于在文件中读取和写入数据的IO流。它提供了一种以字节流的形式访问文件的方式。文件流主要有两种类型:输入流(InputStream)和输出流(OutputStream)。
-
输入流(InputStream):用于从文件中读取数据的流。它提供了一些方法,如
read()
用于读取单个字节,read(byte[] buffer)
用于读取多个字节到缓冲区等。 -
输出流(OutputStream):用于将数据写入文件的流。它提供了一些方法,如
write(int b)
用于写入单个字节,write(byte[] buffer)
用于写入缓冲区中的多个字节等。
文件流的使用示例
下面是一个使用文件流读取和写入文件的示例代码:
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileStreamExample {
public static void main(String[] args) {
String inputFile = "input.txt";
String outputFile = "output.txt";
try {
// 创建输入流
FileInputStream inputStream = new FileInputStream(inputFile);
// 创建输出流
FileOutputStream outputStream = new FileOutputStream(outputFile);
// 读取文件内容并写入到输出流
int byteRead;
while ((byteRead = inputStream.read()) != -1) {
outputStream.write(byteRead);
}
// 关闭流
inputStream.close();
outputStream.close();
System.out.println("文件读取和写入完成!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
在上面的示例中,我们创建了一个FileStreamExample
类,并在main
方法中使用了文件流来读取和写入文件。需要注意的是,我们使用了FileInputStream
和FileOutputStream
来创建输入和输出流。
在主方法中,我们首先定义了要读取的输入文件和要写入的输出文件的名称。然后,我们在try-catch
块中创建了输入和输出流。接下来,我们使用read()
方法从输入流中读取每个字节,并使用write()
方法将其写入输出流中,直到达到文件的末尾。最后,我们关闭输入和输出流,并打印一条完成消息。
文件流的流程图
下面是使用文件流进行文件读取和写入的流程图:
st=>start: 开始
op1=>operation: 创建输入流
op2=>operation: 创建输出流
op3=>operation: 读取文件内容
op4=>operation: 写入文件内容
op5=>operation: 关闭输入流
op6=>operation: 关闭输出流
e=>end: 完成
st->op1->op2->op3->op4->op5->op6->e
总结
文件流是Java中读取和写入文件的一种常用方式。它提供了输入流和输出流,分别用于从文件中读取数据和将数据写入文件。在使用文件流时,我们需要创建输入和输出流,并使用read()
和write()
方法进行读取和写入操作。最后,我们还需要关闭流以释放系统资源。通过掌握文件流的使用,我们可以更好地处理文件操作和数据存储的需求。
参考文献:
- Java文件IO - 文件流。