字节流(Byte Streams)
- 输入字节流(InputStream)
- FileInputStream:用于从文件中读取字节数据。
- ByteArrayInputStream:从字节数组中读取数据。
- BufferedInputStream:为其他输入字节流添加缓冲功能,提高读取效率。
- DataInputStream:可按基本数据类型读取字节数据,如读取 int、double 等类型的值。
- ObjectInputStream:用于读取对象序列化后的字节数据,实现对象的反序列化。
- 输出字节流(OutputStream)
- FileOutputStream:用于向文件中写入字节数据。
- ByteArrayOutputStream:将数据写入字节数组。
- BufferedOutputStream:为其他输出字节流添加缓冲功能,提升写入效率。
- DataOutputStream:可按基本数据类型将数据以字节形式写入,比如写入 int、double 等类型的值。
- ObjectOutputStream:用于将对象进行序列化并以字节形式写入,实现对象的序列化操作。
字符流(Character Streams)
- 输入字符流(Reader)
- FileReader:用于从文件中读取字符数据,以字符为单位。
- CharArrayReader:从字符数组中读取字符。
- BufferedReader :为其他输入字符流添加缓冲功能,并且提供了按行读取等方便的操作方法,如
readLine()
。 - InputStreamReader :是字节流到字符流的桥梁,可将字节流转换为字符流进行读取,通常会结合其他字节输入流使用,比如结合
FileInputStream
来读取文本文件并以字符形式处理。
- 输出字符流(Writer)
- FileWriter:用于向文件中写入字符数据。
- CharArrayWriter:将字符数据写入字符数组。
- BufferedWriter :为其他输出字符流添加缓冲功能,提供了如
newLine()
等方便的写入操作方法。 - OutputStreamWriter :是字节流到字符流的桥梁,可将字节流转换为字符流进行写入,通常会结合其他字节输出流使用,比如结合
FileOutputStream
来向文本文件写入字符形式的数据。
字节流主要用于处理二进制数据,而字符流则更侧重于处理文本数据。在实际应用中,根据具体的需求选择合适的 IO 流来进行数据的读写操作。