Java I/O streams;有什么区别?

2022-09-01 19:36:46

java.io有许多不同的I / O流,(FileInputStream,FileOutputStream,FileReader,FileWriter,BufferedStreams...等)我在确定它们之间的差异时感到困惑。在一种流类型优于另一种流类型的情况下,有哪些示例,它们之间的真正区别是什么?


答案 1

流:一次一个字节。适用于二进制数据。

读者/作家:一次一个字符。适用于文本数据。

任何“缓冲”:一次多个字节/字符。几乎一直都很好。


答案 2

在学习Java时,我制定了这个关于 java.io 的心理方案:

  • 面向字节的流(8 位)
  • 适用于二进制数据,如 Java .class 文件
  • 适用于“面向机器”的数据

读者/作家

  • 面向字符 (utf-16) 的流(16 位)
  • 适用于文本,如 Java 源代码
  • 适用于“面向人类”的数据

缓冲

  • 除非另有证明,否则始终有用

推荐