java.io类太多了,对于其中一些类,我真的不明白我们什么时候需要它们,例如:
ByteArrayInputStream,ByteArrayOutputStream
序列输入流,
PushbackInputStream,PushbackReader
StringReader。。。
我指的是一些现实生活中的用法
有人能解释一下吗。。。
我认为你的问题太宽泛了。
然而,可以对java.io
包进行非常基本的概述。它包含用于数据输入和输出操作(如从文件读取字节)的接口和类。只有几个基本接口/类:
DataInput
/ObjectInput
-读取Java基元和对象DataOutput
/ObjectOutput
-编写Java基元和对象InputStream
-读取单个字节OutputStream
-写入单个字节Reader
-读取字符数据Writer
-写入字符数据
还有其他有用的接口(如Closeable
),但它们的重要性较低。
最好阅读这些类的JavaDoc。一些例子:
- 很明显,您会使用
FileOutputStream
将某些内容写入文件 - 字符数据由字节表示(由字符编码定义),因此可以使用
OutputStreamWriter
包装任何输出流 - 你有
byte[]
,想像读InputStream
一样读它吗?使用ByteArrayInputStream
- 您希望能够将读取的字节返回给读取器(通常只支持单个传递)?用
PushbackReader
包裹您的阅读器 - 你有一些
String
,想像阅读Reader
一样阅读吗?使用StringReader
因此,如果您需要一些特定的流/读取器/写入器,请查看java.io
包,搜索互联网,并在需要时询问So问题。
当然还有java.nio
包,你应该知道。但这是另一个话题。