0

java.io クラスが多すぎます。そのうちのいくつかは、必要なときに本当に理解できません。たとえば、次のようになります。

ByteArrayInputStream、ByteArrayOutputStream

シーケンスインプットストリーム、

PushbackInputStream、PushbackReader

文字列リーダー...

私はいくつかの実際の使用法を意味します

誰か説明してくれませんか...

4

1 に答える 1

3

あなたの質問は広すぎると思います。

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ます。
  6. ...

したがって、特定のストリーム/リーダー/ライターが必要な場合は、java.ioパッケージを確認し、インターネットを検索して、必要に応じて SO で質問してください。


もちろん、知っておくべきjava.niopackageがあります。しかし、それは別のトピックです。

于 2014-01-14T07:50:39.650 に答える