モジュール java.base
パッケージjava.io
パッケージjava.io
このパッケージは、データ・ストリーム、直列化、ファイル・システムによるシステム入出力用に提供されています。 特に明記されていないかぎり、このパッケージ内の任意のクラスまたはインタフェースでコンストラクタまたはメソッドに
null
引数を渡すと、NullPointerException
がスローされます。 このパッケージ内の任意のクラスまたはインタフェースのコンストラクタまたはメソッドにString
引数として渡される「パス名文字列」は、File
のクラス指定で説明されているように解釈されます。
オブジェクト直列化
警告: 信頼できないデータの直列化復元は、本質的に危険であり、回避する必要があります。 「Java SEに対するセキュア・コーディングのガイドライン」の"直列化および直列化復元"セクションに従って、信頼できないデータを慎重に検証する必要があります。
- Javaオブジェクト直列化仕様
- 「シリアル・フィルタリング」ベスト・プラクティス
- シリアル・バー・ツール
- 導入されたバージョン:
- 1.0
- 外部仕様
-
クラス説明
BufferedInputStream
は、ほかの入力ストリームに機能、特に入力をバッファに格納する機能とmark
およびreset
メソッドをサポートする機能を追加します。バッファリングされた出力ストリームを実装します。文字、配列、行をバッファリングすることによって、文字型入力ストリームからテキストを効率良く読み込みます。文字をバッファリングすることによって、文字、配列、または文字列を効率良く文字型出力ストリームに書き込みます。ByteArrayInputStream
は、ストリームから読み込むことができるバイトを格納する内部バッファを保持しています。データがバイト配列に書き込まれる出力ストリームを実装します。文字入力ストリームとして使用する文字バッファを実装します。このクラスは、ライターとして使用できる文字バッファを実装します。文字変換で発生する例外の基底クラスです。Closeable
は、閉じることができるデータの転送元または転送先です。現在のJava仮想マシンに関連付けられている文字ベースのコンソール・デバイスがある場合に、そのコンソール・デバイスにアクセスするためのメソッドです。DataInput
インタフェースは、バイナリ・ストリームからバイトを読み込み、そこからJavaプリミティブ型のいずれかでデータを再構築するために提供されています。データ入力ストリームにより、アプリケーションは、プリミティブ型のJavaデータをベースとなる入力ストリームからマシンに依存せずに読み込むことができます。DataOutput
インタフェースは、Javaのプリミティブ型があればそのデータを一連のバイトに変換してバイナリ・ストリームに書き込むために提供されています。データ出力ストリームを使うと、アプリケーションはプリミティブ型のJavaデータを移植性のある形で出力ストリームに書き込むことができます。入力の途中で、予想外のファイルの終了、または予想外のストリームの終了があったことを表すシグナルです。Externalizableインスタンスのクラスのアイデンティティが直列化ストリームに書き込まれるだけで、そのインスタンスの内容を保存および格納するのはクラスの責任です。ファイルおよびディレクトリのパス名の抽象表現です。ファイル記述子クラスのインスタンスは、開いたファイル、開いたソケット、またはバイトの別のソース(シンク)を表す、ベースとなるマシン固有の構造への不透明なハンドルとして機能します。抽象パス名のフィルタです。FileInputStream
は、ファイル・システム内のファイルから入力バイトを取得します。このインタフェースを実装するクラスのインスタンスは、ファイル名にフィルタをかけるために使用されます。指定されたパス名で示されるファイルが開けなかったことを通知します。ファイル出力ストリームは、File
またはFileDescriptor
にデータを書き込むための出力ストリームです。このクラスは、ファイルまたはディレクトリへのアクセスを表します。デフォルトのバッファ・サイズを使用して、文字ファイルからテキストを読み取ります。デフォルトのバッファ・サイズを使用して、文字ファイルにテキストを書き込みます。FilterInputStream
は、他の入力ストリームをラップします。このストリームは、データの基本ソースとして使用され、その方法に沿ってデータを変換したり、追加の機能を提供します。このクラスは、出力ストリームをフィルタ処理するすべてのクラスのスーパー・クラスです。フィルタ処理された文字列ストリームを読み込むための抽象クラスです。フィルタ処理された文字ストリームのための抽象クラスです。Flushable
は、フラッシュできるデータの宛先です。この抽象クラスは、バイト入力ストリームを表現するすべてのクラスのスーパー・クラスです。InputStreamReaderはバイト・ストリームから文字ストリームへの橋渡しの役目を持ちます。バイトを読み込み、指定されたcharset
を使用して文字にデコードします。入出力処理で割込みが発生したことを通知するシグナルを発生させます。直列化ランタイムが、クラスについて次の問題のどれかを検出したときにスローされます。1つ以上の直列化復元オブジェクトが検証をパスしなかったことを示します。重大な入出力エラーが発生したときにスローされます。何らかの入出力例外の発生を通知するシグナルを発生させます。非推奨。このクラスは、文字がバイトによって適切に表現されるという誤った認識を前提としています。行番号を追跡して管理する、バッファリングされた文字入力ストリームです。直列化または直列化復元がアクティブではない場合にスローされます。インスタンスが直列化可能インタフェースを持つ必要がある場合にスローされます。ObjectInputは、DataInputインタフェースを拡張してオブジェクトの読込みができるようにします。直列化復元中にクラス、配列の長さおよびグラフ・メトリックをフィルタします。JVM全体の直列化復元フィルタ・ファクトリを設定および取得するユーティリティ・クラス、静的なJVM全体のフィルタ、またはパターン文字列からフィルタを作成するユーティリティ・クラス。FilterInfoは、直列化復元されている現在のオブジェクトに関する情報とObjectInputStream
のステータスへのアクセスを提供します。クラスのチェックのステータス、配列の長さ、参照数、深さおよびストリーム・サイズ。事前にObjectOutputStreamを使って作成されたプリミティブ・データとプリミティブ・オブジェクトを直列化復元します。入力ストリームから読み込まれた持続フィールドへのアクセスを提供します。グラフ内のオブジェクトの検証を可能にするコールバック・インタフェースです。ObjectOutputは、DataOutputインタフェースを拡張してオブジェクトの書込みができるようにします。ObjectOutputStreamは、プリミティブ・データ型とJavaオブジェクトのグラフをOutputStreamに書き込みます。ObjectOutputに書き込まれる持続フィールドへのプログラムによるアクセスを提供します。クラスの直列化の記述子です。オブジェクト直列化ストリームに書き込まれる定数です。オブジェクト・ストリーム・クラスに固有の例外すべてのスーパー・クラスです。直列化可能クラスからの直列化可能フィールドの記述です。プリミティブ・データが読み込まれていないか、またはデータの終わりがストリーム内の直列化オブジェクトにあるため、オブジェクトの読込み操作が失敗したことを示す例外です。この抽象クラスは、バイト出力ストリームを表現するすべてのクラスのスーパー・クラスです。OutputStreamWriterは、文字ストリームからバイト・ストリームへの橋渡しの役目を持ちます。それに書き込まれた文字は、指定されたcharset
を使用してバイトにエンコードされます。パイプで連結された入力ストリームは、パイプで連結された出力ストリームに接続するようにします。これによって、パイプで連結された入力ストリームが提供するデータ・バイトは、パイプで連結された出力ストリームにすべて書き込まれます。パイプで連結された出力ストリームをパイプで連結された入力ストリームに接続することで、通信パイプを作成することができます。パイプによる文字入力ストリームです。パイプによる文字出力ストリームです。PrintStream
は、ほかの出力ストリームに機能、具体的には、さまざまなデータ値の表現を簡易的に出力する機能を追加します。オブジェクトの書式付き表現をテキスト出力ストリームに出力します。PushbackInputStream
は、プッシュバック・バイトを内部バッファに格納することで、別の入力ストリーム、つまり"プッシュバック"バイトまたは"unread"バイトの機能を追加します。文字をストリームにプッシュ・バックできる文字ストリーム・リーダーです。このクラスのインスタンスは、ランダム・アクセス・ファイルに対する読取りと書込みの両方をサポートします。文字ストリームを読み込むための抽象クラスです。SequenceInputStream
は、ほかの入力ストリームを論理的に連結したものを表します。注釈付きフィールドまたはメソッドが、「Javaオブジェクト直列化仕様」で定義された「直列化メカニズム」の一部であることを示します。クラスの直列化可能性は、java.io.Serializableインタフェースを実装するクラスによって有効になります。直列化可能アクセス権のためのクラスです。オブジェクト・ストリームから読み込まれた制御情報が、内部整合性検査に違反していた場合にスローされます。StreamTokenizer
クラスは、入力ストリームを引数に取り、それを「トークン」に構文解析し、一度に1つのトークンを読めるようにします。非推奨。このクラスでは、文字からバイトへの変換が正しく行われません。ソースが文字列の文字ストリームです。出力を文字列バッファに集める文字ストリームです。この文字列バッファを使って文字列を構築します。同期(sync)オペレーションが失敗したことを通知します。IOException
を非チェック例外でラップします。文字のエンコーディングがサポートされていません。不正な構造を持つ修正UTF-8形式の文字列が、データ入力ストリーム内に読み込まれたか、またはデータ入力インタフェースを実装するクラスによって読み込まれたことを示します。書込み時にObjectStreamExceptionsの1つがスローされたことを通知します。文字ストリームに書き込むための抽象クラスです。