java.io パッケージ
このパッケージは入出力やファイルを取り扱うためのクラスを提供します。
JDK1.0 でも存在したパッケージで、その基本的な役割に変化はありません。
ただし、JDK1.1 では「オブジェクトの転送」という新しい機能に関係する
クラスとインターフェイスが追加されています。
また、JDK1.1 では国際化に伴うマルチバイト入出力への対応と
従来の InputStream, OutputStream を使ったアプリケーション
の両立を図るために、Reader, Writerというクラス(およびそれらのサブクラス)
が新たに導入されました。
この「二重構造」のせいで、クラスの個数は約2倍にふくれあがっています。
クラスの一覧
- InputStream とそのサブクラス
- InputStream
- ByteArrayInputStream
- BufferedInputStream
- DataInputStream
- StringBufferInputStream
- FilterInputStream
- PipedInputStream
- FileInputStream
- LineNumberInputStream
- SequenceInputStream
- PushbackInputStream
- ObjectInputStream
- Reader とそのサブクラス
- Reader
- InputStreamReader
- CharArrayReader
- BufferedReader
- StringReader
- FilterReader
- PipedReader
- FileReader
- LineNumberReader
- PushbackReader
- OutputStream とそのサブクラス
- OutputStream
- PrintStream
- ByteArrayOutputStream
- BufferedOutputStream
- DataOutputStream
- FilterOutputStream
- PipedOutputStream
- FileOutputStream
- ObjectOutputStream
- WriterStream とそのサブクラス
- Writer
- OutputStreamWriter
- PrintWriter
- CharArrayWriter
- BufferedWriter
- StringWriter
- FilterWriter
- PipedWriter
- FileWriter
PrintWriter は Writer のサブクラスで、PrintStream と同じように
print(),println() のメソッドを提供します。
- その他のクラス
- File
- FileDescriptor
- RandomAccessFile
- StreamTokenizer
- ObjectStreamClass
File と FileDescriptor はファイルおよびファイル・システムへのインターフェイス
を提供します。ディレクトリの作成や情報取得は File クラスのオブジェクトを
通じて行われます。
RandomAccessFileはランダム・アクセスを行うための機能を提供するクラスです。
(File のサブクラスではない。)
StreamTokenizer はストリームをトークンに分解する機能を提供するクラスです。
ObjectStreamClass は、バーチャルマシン間で転送されたオブジェクトを
取り扱うためのクラスです。
インターフェイスの一覧
- DataInput
- DataOutput
- FilenameFilter
- Externalizable
- Serializable
- ObjectInput
- ObjectInputValidation
- ObjectOutput
後半の5つのインターフェイスは 1.1から新たに追加されたものです。
いずれも「オブジェクト転送」の機構を実装する際に用いられます。