📅  最后修改于: 2023-12-03 14:42:58.407000             🧑  作者: Mango
在Java编程中,流(Stream)是一种用于读取或写入数据的抽象概念。流可以将数据从一个地方传输到另一个地方,如文件、网络连接、终端等。在Java中,流主要用于处理输入输出操作,提供了丰富的API来简化对文件和网络数据的读写操作。
在Java中,流可分为两种类型:
每种类型又可以细分为字节流和字符流:
根据流对数据的处理方式,又可分为:
Java中的流提供了一系列的方法来操作数据,主要包括:
读取数据:
read()
方法逐个读取单个字节或字符。read(byte[] buffer)
方法一次读取多个字节(字节流)或字符(字符流)。readLine()
方法逐行读取文本数据(字符流)。Scanner
类进行数据的格式化读取操作。写入数据:
write(int b)
方法将单个字节或字符写入输出流。write(byte[] buffer)
方法将字节数组或字符数组写入输出流。write(String str)
方法将字符串写入输出流。PrintWriter
类进行数据的格式化写入操作。关闭流:
close()
方法关闭流,释放相关资源。下面是使用Java流进行文件读写的示例代码:
import java.io.*;
public class FileIOExample {
public static void main(String[] args) {
try {
// 创建输入流读取文件
FileInputStream fis = new FileInputStream("input.txt");
BufferedInputStream bis = new BufferedInputStream(fis);
// 创建输出流写入文件
FileOutputStream fos = new FileOutputStream("output.txt");
BufferedOutputStream bos = new BufferedOutputStream(fos);
int data;
while ((data = bis.read()) != -1) {
bos.write(data);
}
bis.close();
bos.close();
System.out.println("文件读写完成!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
这个示例代码演示了如何使用字节流进行文件读写操作。首先创建输入流读取input.txt
文件,并使用缓冲区提高效率。然后创建输出流写入output.txt
文件,并同样使用缓冲区。通过循环读取输入流的数据,并写入输出流,实现了文件的复制操作。
Java中的流是一种处理输入输出操作的抽象概念,可以用于读取和写入不同数据源的数据。流的类型包括输入流和输出流,以及字节流和字符流。流的操作方法丰富多样,可以通过API提供的方法实现数据的读写操作。在使用流时,需要注意及时关闭流对象,释放相关资源。通过合理地使用流,我们可以简化文件读写、网络数据传输等操作,提高程序的效率和可读性。