ByteArrayInputStream、SequenceInputStream、StringReader的使用位置



java.io类太多了,对于其中一些类,我真的不明白我们什么时候需要它们,例如:

ByteArrayInputStream,ByteArrayOutputStream

序列输入流,

PushbackInputStream,PushbackReader

StringReader。。。

我指的是一些现实生活中的用法

有人能解释一下吗。。。

我认为你的问题太宽泛了。

然而,可以对java.io包进行非常基本的概述。它包含用于数据输入和输出操作(如从文件读取字节)的接口。只有几个基本接口/类:

  • DataInput/ObjectInput-读取Java基元和对象
  • DataOutput/ObjectOutput-编写Java基元和对象
  • InputStream-读取单个字节
  • OutputStream-写入单个字节
  • Reader-读取字符数据
  • Writer-写入字符数据

还有其他有用的接口(如Closeable),但它们的重要性较低。


最好阅读这些类的JavaDoc。一些例子:

  1. 很明显,您会使用FileOutputStream将某些内容写入文件
  2. 字符数据由字节表示(由字符编码定义),因此可以使用OutputStreamWriter包装任何输出流
  3. 你有byte[],想像读InputStream一样读它吗?使用ByteArrayInputStream
  4. 您希望能够将读取的字节返回给读取器(通常只支持单个传递)?用PushbackReader包裹您的阅读器
  5. 你有一些String,想像阅读Reader一样阅读吗?使用StringReader

因此,如果您需要一些特定的流/读取器/写入器,请查看java.io包,搜索互联网,并在需要时询问So问题。


当然还有java.nio包,你应该知道。但这是另一个话题。

相关内容

  • 没有找到相关文章

最新更新