Java 中的流(Stream)是一组用于处理输入和输出的类和接口。流可以用于读取和写入文件、网络连接、内存中的数据等。在 Java 中,流可以分为字节流和字符流,字节流用于处理二进制数据,字符流用于处理文本数据。
以下是 Java 中常用的流类:
- 字节流
InputStream
:抽象类,表示输入字节流,用于从输入源中读取字节数据。FileInputStream
:继承自InputStream
,表示从文件中读取数据的输入流。ByteArrayInputStream
:继承自InputStream
,表示从字节数组中读取数据的输入流。OutputStream
:抽象类,表示输出字节流,用于向输出目标中写入字节数据。FileOutputStream
:继承自OutputStream
,表示向文件中写入数据的输出流。ByteArrayOutputStream
:继承自OutputStream
,表示向字节数组中写入数据的输出流。
- 字符流
Reader
:抽象类,表示输入字符流,用于从输入源中读取字符数据。FileReader
:继承自Reader
,表示从文件中读取数据的输入流。CharArrayReader
:继承自Reader
,表示从字符数组中读取数据的输入流。Writer
:抽象类,表示输出字符流,用于向输出目标中写入字符数据。FileWriter
:继承自Writer
,表示向文件中写入数据的输出流。CharArrayWriter
:继承自Writer
,表示向字符数组中写入数据的输出流。
除了上述流类之外,还有一些其他常用的流类,例如 BufferedInputStream
和 BufferedWriter
等缓冲流类,它们可以提高流的读写效率。另外,还有一些高级流类,例如 ObjectInputStream
和 ObjectOutputStream
等对象流类,它们可以用于读写对象数据。
需要注意的是,在使用流进行数据读写操作时,需要正确处理流的打开、关闭、异常处理和缓冲等问题,以确保数据的完整性和正确性。