0

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

字节数组输入流、字节数组输出流

序列输入流,

PushbackInputStream, PushbackReader

字符串阅读器...

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

有人可以解释一下吗...

4

1 回答 1

3

我想说你的问题太宽泛了。

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

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

还有其他有用的接口(如Closeable),但这些不太重要。


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

  1. 很明显,您将使用FileOutputStream将某些内容写入文件。
  2. 字符数据由字节表示(由字符编码定义),因此您可以使用OutputStreamWriter.
  3. 你有byte[]并且想像 from 一样读取它InputStream?使用ByteArrayInputStream.
  4. 您希望能够将读取的字节返回给阅读器(通常只支持一次传递)?用PushbackReader.
  5. 你有一些String,想从中读取,就像 from Reader?使用StringReader.
  6. ...

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


当然还有java.niopackage,你应该知道。但那是针对不同的主题。

于 2014-01-14T07:50:39.650 回答