I/O流程图

字节流(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 流来进行数据的读写操作。

相关推荐
benchmark_cc几秒前
REST API 和 Python SDK 应该怎么选?量化交易数据接口选型实战
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
王的宝库5 分钟前
Go 项目结构:从单文件到标准工程布局
开发语言·后端·golang
Tairitsu_H9 分钟前
[C++] 深入理解红黑树:封装set与map
开发语言·c++·set·map·红黑树·模拟实现
许彰午18 分钟前
27-AuthService登录链路
java·低代码·架构
泡海椒23 分钟前
JQuick-Curl 性能分析:并发场景下的性能表现与调优,第三方接口调用不只要快写也要稳跑
java·开发语言·okhttp
小智老师PMP38 分钟前
2026深度解析|PMP第八版与NPDP核心侧重点本质区别(管理类证书怎么选)
开发语言·分布式·算法·职场和发展·产品经理
Rain的Java大神之路1 小时前
JavaWeb开发如何解决跨域问题
java·前端·后端·nginx·web安全·面试·运维开发
自动化监测Learner2 小时前
Navicat Premium 17 中文版安装教程(2026最新版)
java·linux·数据库
江畔柳前堤2 小时前
前台·中台·后台:2026年AI原生时代的架构全景图
开发语言·人工智能·算法·机器学习·架构·scala·ai-native
那个松鼠很眼熟w2 小时前
4.Spring-Ai入门案例
java·人工智能·spring