)JavaScriptがブラウザで無効になっています。11すべてのクラス検索:JavaScriptがブラウザで無効になっています。ObjectStreamConstants事前にObjectOutputStreamを使って作成されたプリミティブ・データとプリミティブ・オブジェクトを直列化復元します。信頼できないデータの直列化復元は、本質的に危険であり、回避する必要があります。SEに対するセキュア・コーディングのガイドライン」の"直列化および直列化復元"セクションに従って、信頼できないデータを慎重に検証する必要があります。「直列化フィルタリング」では、シリアル・フィルタの使いやすさに関するベスト・プラクティスについて説明します。ObjectOutputStreamとObjectInputStreamは、FileOutputStreamまたはFileInputStreamとともに使えば、アプリケーションに、オブジェクトのグラフのための持続的なストレージを提供することができます。ObjectInputStreamは、事前に直列化されたオブジェクトを元に戻すために使います。ほかの使用方法としては、ソケット・ストリームの使用による、ホスト間でのオブジェクトの受け渡しや、リモート通信システムでの属性やパラメータの整列や整列解除があります。Machineに存在するクラスに確実にマッチするようにします。クラスは、標準のメカニズムを使って必要に応じてロードされます。ストリームから読み込むことができるのは、java.io.Serializableインタフェースかjava.io.Externalizableインタフェースをサポートするオブジェクトだけです。オブジェクトをストリームから読み込むにはreadObjectメソッドを使います。希望の型を取得するには、Javaの安全なキャストを使う必要があります。Javaでは、文字列と配列はオブジェクトで、直列化の間はオブジェクトとして扱われます。それらを読み込む際には、希望の型にキャストされている必要があります。プリミティブ・データ型をストリームから読み込むには、DataInputの適切なメソッドを使います。オブジェクトのデフォルトの直列化復元メカニズムは、各フィールドの内容を、書き込まれたときの状態に戻します。transientまたはstaticと宣言されたフィールドは、直列化復元処理では無視されます。ほかのオブジェクトを参照すると、それらのオブジェクトは、必要に応じてストリームから読み込まれます。オブジェクトのグラフは、参照共有メカニズムを使って正しく復元されます。直列化復元が行われるときには、常に新しいオブジェクトが割り当てられ、それによって既存のオブジェクトへの上書きが防止されます。オブジェクトの読込みは、新しいオブジェクトのコンストラクタの実行に似ています。メモリーがオブジェクトに割り当てられ、ゼロ(NULL)に初期化されます。直列化可能でないクラスに対して、引数なしのコンストラクタが呼び出されたあと、直列化可能クラスのフィールドが、java.lang.Objectにもっとも近いクラスから始まって、もっともオブジェクトに固有のクラスで終わるストリームから復元されます。ObjectOutputStreamの例で書き込まれたストリームからの読込みは、次のように行います。ois.close();クラスは、インタフェースjava.io.Serializableまたはjava.io.Externalizableを実装することによって、クラスがどのように直列化されるかを制御します。Serializableインタフェースを実装することによって、オブジェクトの直列化が、オブジェクトの状態全体の保存と復元を行うことが可能になり、またクラスが、ストリームの書込み時とストリームの読込み時の間に展開することが可能になります。オブジェクトの直列化は、オブジェクト間の参照を自動的にトラバースし、オブジェクト・グラフの全体を保存および復元します。直列化処理と直列化復元処理のときに特別な操作を必要とするSerializableクラスは、次のメソッドを実装する必要があります。ObjectStreamException;readObjectメソッドは、対応するwriteObjectメソッドによってストリームに書き込まれたデータを使用する特定のクラスについて、オブジェクトの状態を読み込みおよび復元する責任を持ちます。このメソッドは、そのスーパー・クラスやサブクラスに属する状態に関与する必要はありません。状態を復元するには、個々のフィールドについてObjectInputStreamからデータを読み込み、オブジェクトの適切なフィールドへの割り当てを行います。プリミティブ・データ型の読込みは、DataInputによってサポートされます。オブジェクト・データを読み込もうとするときに、その位置が対応するwriteObjectメソッドによって書き込まれたカスタム・データの境界を超えている場合は、eofフィールドの値がtrueの状態でOptionalDataExceptionがスローされます。オブジェクトを直列化して読み込もうとするときに、その位置が割当て済みデータの終わりを超えている場合は、ストリームの場合と同様に、データの終わりを示す例外が返されます。プリミティブ読込みでは、EOFExceptionがスローされます。対応するwriteObjectメソッドがない場合は、デフォルトの直列化データの終わりが割当て済みデータの終わりになります。プリミティブ読み込みとオブジェクト読込みがreadExternalメソッドから呼び出された場合は、両方とも同じように動作します。-1を返し、プリミティブ読込みではEOFExceptionがスローされます。古いObjectStreamConstants.PROTOCOL_VERSION_1プロトコルを使用して書き込まれたストリームでは、この動作は適用されません。writeExternalメソッドと異なり、データの終わりが書き込まれないため、データの終わりを検出できないためです。readObjectNoDataメソッドは、あるクラスが直列化復元されるオブジェクトのスーパー・クラスとして直列化ストリームに指定されていないときに、そのクラスについてそのオブジェクトの状態を初期化します。これは、受け取り側が、送り側とは異なるバージョンの直列化復元されたインスタンスのクラスを使用し、受け取り側のバージョンが送り側のバージョンによって継承されないクラスを継承する場合に発生する可能性があります。直列化ストリームが改変された場合にも発生することがあります。したがって、readObjectNoDataは、「悪意のある」または不正なソース・ストリームであっても、直列化復元されたオブジェクトを正しく初期化するのに役立ちます。直列化は、java.io.Serializableインタフェースを実装しないオブジェクトのフィールドの読込みや、それらのフィールドへの値の割当ては行いません。直列化可能でないオブジェクトのサブクラスを直列化可能にすることができます。この場合、直列化可能でないクラスは、そのフィールドを初期化できるようにするため、引数なしのコンストラクタを持つ必要があります。この場合、直列化可能でないクラスの状態を保存および復元するのは、サブクラスの責任になります。そのクラスのフィールドがアクセス可能である(public、package、またはprotected)場合、あるいは状態の復元に利用できるsetメソッドやgetメソッドがある場合がしばしばあります。直列化復元中にストリームの内容をフィルタリングすることができます。ObjectInputStream上の「フィルタが設定されている」の場合、ObjectInputFilterは、クラス、配列の長さ、ストリーム内の参照数、入力ストリームから消費されたバイト数、許容されないバイト数を確認できます。ない場合は、直列化復元を終了できます。「プロセス全体のフィルタ」は、setObjectInputFilterを使用して置き換えない限り、各ObjectInputStreamに適用されるように構成することができます。オブジェクトを直列化復元する間に発生したすべての例外は、ObjectInputStreamにキャッチされ、読込み処理を異常終了させます。Externalizableインタフェースを実装すると、オブジェクトの直列化された形式の内容および形式をオブジェクト側が完全に制御することが可能になります。ExternalizableインタフェースのメソッドであるwriteExternalとreadExternalは、オブジェクトの状態を保存および復元するために呼び出されます。これらのメソッドは、クラスによって実装された場合には、ObjectOutputとObjectInputのすべてのメソッドを使って、自身の状態の書き込みおよび読込みを行うことができます。どのようなバージョンであっても処理できるようにするのは、オブジェクトの責任です。enum定数の直列化復元は、通常の直列化可能または外部化可能オブジェクトとは異なります。enum定数の直列化された形式を構成するのは、その名前だけです。定数のフィールド値は転送されません。enum定数を直列化復元するには、ObjectInputStreamでストリームから定数名を読み込みます。String)を呼び出し、直列化復元された定数を取得します。他の直列化可能または外部化可能オブジェクト同様に、enum定数は、以後直列化ストリームに出現する後方参照の対象として機能できます。enum定数を直列化復元するプロセスをカスタマイズすることはできません。enum型で定義された、クラス固有のreadObject、readObjectNoData、およびreadResolveメソッドはどれも直列化復元の間は無視されます。同様に、serialPersistentFieldsまたはserialVersionUIDのフィールド宣言もすべて無視されます。すべてのenum型は0Lで固定されたserialVersionUIDを持ちます。classObjectInputStream.GetField入力ストリームから読み込まれた持続フィールドへのアクセスを提供します。TC_STRINGコンストラクタのサマリーコンストラクタ修飾子コンストラクタ説明protectedObjectInputStream()ObjectInputStreamを完全に再実装するサブクラスが、ObjectInputStreamのこの実装によって使用されたばかりのprivateデータを割り当てる必要がないようにする手段を提供します。in)指定されたInputStreamから読み込むObjectInputStreamを作成します。非推奨のメソッド修飾子と型メソッド説明intavailable()ブロックせずに読み込むことができるバイト数を返します。voidclose()入力ストリームを閉じます。voiddefaultReadObject()現在のクラスの非staticおよび非transientフィールドを、このストリームから読み込みます。enable)ストリームがストリームから読み込まれたオブジェクトの置換を行うことを可能にします。ObjectInputFiltergetObjectInputFilter()このストリームの直列化フィルタを返します。intread()データのバイトを読み込みます。len)バイト配列に読み込みます。booleanreadBoolean()booleanを読み込みます。bytereadByte()8ビットのバイトを読み込みます。charreadChar()16ビットのcharを読み込みます。ObjectStreamClassreadClassDescriptor()直列化ストリームからクラス記述子を読み込みます。doublereadDouble()64ビットのdoubleを読み込みます。ObjectInputStream.GetFieldreadFields()ストリームから持続フィールドを読み込み、それらを名前を指定してアクセスできるようにします。floatreadFloat()32ビットのfloatを読み込みます。buf)バイトを読み込みます。すべてのバイトが読み込まれるまでブロックします。len)バイトを読み込みます。すべてのバイトが読み込まれるまでブロックします。intreadInt()32ビットのintを読み込みます。StringreadLine()非推奨。このメソッドでは、バイトから文字への変換が正しく行われません。longreadLong()64ビットのlongを読み込みます。ObjectreadObject()ObjectInputStreamからオブジェクトを読み込みます。ObjectreadObjectOverride()このメソッドは、引数なしのprotectedコンストラクタを使用して、ObjectOutputStreamを構築したObjectOutputStreamの信頼できるサブクラスによって呼び出されます。shortreadShort()16ビットのshortを読み込みます。voidreadStreamHeader()サブクラスが自身のストリーム・ヘッダーの読み込みと検証を行えるようにするために提供されています。ObjectreadUnshared()ObjectInputStreamから「共有されない」オブジェクトを読み込みます。intreadUnsignedByte()符号なし8ビット・バイトを読み込みます。intreadUnsignedShort()符号なし16ビットのshortを読み込みます。StringreadUTF()修正UTF-8形式の文字列を読み込みます。prio)オブジェクト・グラフが返される前に検証されるべきオブジェクトを登録します。desc)指定されたストリーム・クラスの記述に対応するローカル・クラスをロードします。obj)このメソッドは、直列化復元の際に、ObjectInputStreamの信頼できるサブクラスが、あるオブジェクトをほかのオブジェクトに置換できるようにします。interfaces)プロキシ・クラス記述子で指定されたインタフェースを実装するプロキシ・クラスを返します。サブクラスはこのメソッドを実装してダイナミック・プロキシ・クラスの記述子とともにストリームからカスタム・データを読み込み、インタフェースやプロキシ・クラスの代替ローディング・メカニズムを使用できるようにします。filter)ストリームの直列化フィルタを設定します。len)バイトをスキップします。IOException指定されたInputStreamから読み込むObjectInputStreamを作成します。直列化ストリーム・ヘッダーは、ストリームから読み込まれたあと、検証されます。このコンストラクタは、対応するObjectOutputStreamがヘッダーを書き込んでフラッシュするまでブロックします。直列化フィルタは「プロセス全体のフィルタ」の値に初期化されます。セキュリティ・マネージャがインストールされている場合、ObjectInputStream.readFieldsメソッドまたはObjectInputStream.readUnsharedメソッドをオーバーライドするサブクラスのコンストラクタによってSerializablePermission("enableSubclassImplementation")が直接または間接に呼び出されたときに、このコンストラクタはこのアクセス権を確認します。SecurityExceptionObjectInputStreamを完全に再実装するサブクラスが、ObjectInputStreamのこの実装によって使用されたばかりのprivateデータを割り当てる必要がないようにする手段を提供します。直列化フィルタは「プロセス全体のフィルタ」の値に初期化されます。セキュリティ・マネージャがインストールされている場合、このメソッドはまずセキュリティ・マネージャのcheckPermissionメソッドをアクセス権SerializablePermission("enableSubclassImplementation")で呼び出し、サブクラス化を有効にできるようにします。セキュリティ・マネージャが存在し、そのcheckPermissionメソッドがサブクラス化を有効にすることを拒否した場合。ClassNotFoundExceptionObjectInputStreamからオブジェクトを読み込みます。オブジェクトのクラス、クラスのシグネチャ、クラスの非transientフィールドおよび非staticフィールドの値とそのすべてのスーパー・タイプが読み込まれます。あるクラスについてのデフォルトの直列化復元は、writeObjectメソッドとreadObjectメソッドを使用してオーバーライドできます。このオブジェクトによって参照されるオブジェクトは中間的に読み込まれ、それによって、完全に同等なオブジェクト・グラフがreadObjectによって再構築されます。ルート・オブジェクトは、参照するフィールドとオブジェクトのすべてが復元された時、完全に復元されます。この時点で、それらの登録された優先順位に基づいて、オブジェクト検証コールバックが実行されます。このコールバックは、(特別なreadObjectメソッドの)オブジェクトによって、それらが個別に復元されるときに登録されます。readに対して呼び出され、ルート・オブジェクトが再構築されます。詳細については、setObjectInputFilterを参照してください。例外は、InputStreamに関する問題や、直列化復元すべきではないクラスについてスローされます。すべての例外は、InputStreamにとって致命的で、InputStreamを不確定の状態にします。ストリームの状態を無視するか回復処理するかを決めるのは呼出し側です。直列化されたオブジェクトのクラスが見つからなかった場合。直列化で使用されるクラスになんらかの不具合があった場合。ストリームの制御情報に一貫性がない場合。プリミティブ・データが、オブジェクトではなくストリームに見つかった場合。通常の入出力関連の例外が発生した場合。ClassNotFoundExceptionこのメソッドは、引数なしのprotectedコンストラクタを使用して、ObjectOutputStreamを構築したObjectOutputStreamの信頼できるサブクラスによって呼び出されます。サブクラスは、修飾子がfinalのオーバーライド・メソッドを提供するとみなされます。戻り値:ストリームから読み込まれたオブジェクト。直列化されたオブジェクトのクラス定義が見つからなかった場合。プリミティブ・データが、オブジェクトではなくストリームに見つかった場合。ClassNotFoundExceptionObjectInputStreamから「共有されない」オブジェクトを読み込みます。このメソッドは、readObjectと似ています。直後にreadObjectおよびreadUnsharedを呼び出し、この呼出しが取得した直列化復元されたインスタンスに対する追加の参照を返すことはできません。具体的には、次のようになります。readUnsharedを呼び出して逆参照(ストリームに書き込まれたオブジェクトのストリーム表現)を直列化復元しようとすると、ObjectStreamExceptionがスローされる。readUnsharedが正常に復帰したあとで、readUnsharedが直列化復元したストリーム・ハンドルへの逆参照を直列化復元しようとすると、ObjectStreamExceptionがスローされる。readUnsharedを呼び出してオブジェクトを直列化復元すると、返されるオブジェクトに関連付けられているストリーム・ハンドルが無効になります。readUnsharedから返される参照が一意であるとは限りません。直列化復元されたオブジェクトがreadResolveメソッドを定義して、ほかの組織が見ることができるオブジェクトを返すことがあります。readUnsharedがストリーム内のほかの場所や外部から取得できるClassオブジェクトまたはenum定数を返すこともあります。直列化復元されたオブジェクトがreadResolveメソッドを定義し、このメソッドの呼出しによって配列が返される場合、readUnsharedはその配列のシャロー複製を返します。これにより、ベースとなるデータ・ストリームが処理されている場合でも、返される配列オブジェクトが一意であり、ObjectInputStreamに対するreadObjectまたはreadUnsharedの呼び出しから2回目には取得できないようになります。readに対して呼び出され、ルート・オブジェクトが再構築されます。詳細については、setObjectInputFilterを参照してください。このメソッドをオーバーライドするObjectInputStreamサブクラスは、SerializablePermission("enableSubclassImplementation")を持つセキュリティ・コンテキスト内だけで構築できます。このアクセス権を持たないセキュリティ・コンテキストでインスタンス化しようとすると、SecurityExceptionがスローされます。ClassNotFoundException現在のクラスの非staticおよび非transientフィールドを、このストリームから読み込みます。このメソッドを呼び出すことができるのは、直列化復元されているクラスのreadObjectメソッドだけです。別の方法で呼び出された場合はNotActiveExceptionをスローします。直列化されたオブジェクトのクラスが見つからなかった場合。入出力エラーが発生した場合。ストリームが現在オブジェクトを読み込んでいない場合。ClassNotFoundExceptionストリームから持続フィールドを読み込み、それらを名前を指定してアクセスできるようにします。直列化されたオブジェクトのクラスが見つからなかった場合。入出力エラーが発生した場合。ストリームが現在オブジェクトを読み込んでいない場合。InvalidObjectExceptionオブジェクト・グラフが返される前に検証されるべきオブジェクトを登録します。resolveObjectに似ていますが、これらの検証はオブジェクト・グラフ全体が再構築されたあとに呼び出される点が異なります。通常、readObjectメソッドは、ストリームとともにオブジェクトを登録し、それによってオブジェクトのすべてが復元されたときに最終的な検証を実行できるようにします。検証のコールバックを受け取るオブジェクト。コールバックの順序を制御する値。0が適切なデフォルト値である。早くコールバックする場合は大きい番号を、あとでコールバックする場合は小さい番号を使う。同じ優先順位内では、コールバックの処理に特別な順序はない。ストリームが現在オブジェクトを読み込んでいないため、コールバックを登録できない場合。検証オブジェクトがnullである場合。ClassNotFoundException指定されたストリーム・クラスの記述に対応するローカル・クラスをロードします。サブクラスは、このメソッドを実装して、クラスを代替ソースから取得できるようにすることができます。ObjectOutputStream内で対応するメソッドはannotateClassです。このメソッドは、ストリームの一意のクラスそれぞれについて1回だけ呼び出されます。このメソッドは、代替のロード・メカニズムを使用するためにサブクラスによって実装することができますが、Classオブジェクトを返す必要があります。返されたクラスが配列クラスでない場合は、そのserialVersionUIDが、直列化されたクラスのserialVersionUIDと比較されます。不一致がある場合、直列化復元が失敗し、InvalidClassExceptionがスローされます。loader)ここで、loaderは、現在のスレッド・スタック(現在実行中のメソッドから開始)上の「プラットフォーム・クラス・ローダー」もその祖先でもない最初のクラス・ローダーです。それ以外の場合、loaderは「プラットフォーム・クラス・ローダー」です。この呼出しの結果がClassNotFoundExceptionで、渡されたObjectStreamClassインスタンスの名前がプリミティブ型またはvoidに対するJava言語のキーワードである場合は、そのプリミティブ型またはvoidを表すClassオブジェクトが返されます。"int"という名前のObjectStreamClassはInteger.TYPEに解決されます。ない場合は、このメソッドの呼出し側にClassNotFoundExceptionがスローされます。通常の入出力関連の例外が発生した場合。直列化されたオブジェクトのクラスが見つからなかった場合。ClassNotFoundExceptionプロキシ・クラス記述子で指定されたインタフェースを実装するプロキシ・クラスを返します。サブクラスはこのメソッドを実装してダイナミック・プロキシ・クラスの記述子とともにストリームからカスタム・データを読み込み、インタフェースやプロキシ・クラスの代替ローディング・メカニズムを使用できるようにします。このメソッドはストリームの一意の各プロキシ・クラス記述子について1回だけ呼び出されます。ObjectOutputStream内で対応するメソッドはannotateProxyClassです。このメソッドをオーバーライドするObjectInputStreamの指定されたサブクラスについては、ObjectOutputStream内の対応するサブクラスのannotateProxyClassメソッドが、このメソッドが読み込むデータまたはオブジェクトをすべて書き込む必要があります。ObjectInputStream内のこのメソッドのデフォルト実装は、interfacesパラメータに指定されたインタフェースに対するClassオブジェクトのリストを使用してProxy.getProxyClassを呼び出した結果を返します。各インタフェース名iに対するClassオブジェクトは、次の呼出しによって返された値です。loader)ここで、loaderは、現在のスレッド・スタック(現在実行中のメソッドから開始)上の「プラットフォーム・クラス・ローダー」もその祖先でもない最初のクラス・ローダーです。それ以外の場合、loaderは「プラットフォーム・クラス・ローダー」です。解決されたインタフェースのすべてがpublicである場合は、このloaderと同じ値がProxy.getProxyClassに渡されるクラス・ローダーにもなります。publicでないインタフェースが存在する場合は、代わりにそれらのインタフェースのクラス・ローダーが渡されます。publicでないインタフェース・クラス・ローダーが複数検出された場合は、IllegalAccessErrorがスローされます。Proxy.getProxyClassからIllegalArgumentExceptionがスローされると、resolveProxyClassはそのIllegalArgumentExceptionを含むClassNotFoundExceptionをスローします。IOExceptionこのメソッドは、直列化復元の際に、ObjectInputStreamの信頼できるサブクラスが、あるオブジェクトをほかのオブジェクトに置換できるようにします。オブジェクトの置換は、enableResolveObjectが呼び出されるまでは行えません。enableResolveObjectメソッドは、オブジェクトの解決を要求しているストリームが信頼できるかどうかを調べます。直列化可能オブジェクトへのすべての参照は、resolveObjectに渡されます。オブジェクトのprivate状態が意図せずに公開されることがないように、resolveObjectを使うのは信頼できるストリームに限定されます。このメソッドは、オブジェクトが読み込まれたあと、readObjectから復帰する前に呼び出されます。デフォルトのresolveObjectメソッドは、同じオブジェクトを返します。サブクラスは、オブジェクトを置換するとき、置換されたオブジェクトと、参照が格納される各フィールドとの互換性を保つようにする必要があります。フィールドまたは配列要素の型のサブクラスではない型のオブジェクトは、例外を発生させることによって直列化を中断し、その結果オブジェクトは格納されません。このメソッドは、各オブジェクトが最初に検出されたときに1回だけ呼び出されます。これ以後検出されるそのオブジェクトへの参照は、新しいオブジェクトにリダイレクトされます。通常の入出力関連の例外が発生した場合。SecurityExceptionストリームがストリームから読み込まれたオブジェクトの置換を行うことを可能にします。有効にすると、resolveObject(java.lang.Object)メソッドが直列化復元されるすべてのオブジェクトに対して呼び出されます。オブジェクトの置換が現在有効ではなく、enableがtrueであり、セキュリティ・マネージャがインストールされている場合、このメソッドは、セキュリティ・マネージャcheckPermissionメソッドをSerializablePermission("enableSubstitution")アクセス権で最初に呼び出して、呼び出し側がストリームによるオブジェクトの置換ストリームから読み込みます。セキュリティ・マネージャが存在し、checkPermissionメソッドが、ストリームがストリームから読み取られたオブジェクトの置換を行うことを許可しない場合。StreamCorruptedExceptionサブクラスが自身のストリーム・ヘッダーの読み込みと検証を行えるようにするために提供されています。このメソッドは、マジック番号とバージョン番号を読み込みます。ClassNotFoundException直列化ストリームからクラス記述子を読み込みます。このメソッドは、ObjectInputStreamが直列化ストリームの次のアイテムとしてクラス記述子を要求すると呼び出されます。writeClassDescriptorメソッドをオーバーライドしたObjectOutputStreamのサブクラスによって標準ではない形式で書き込まれたクラス記述子に読み込むために、ObjectInputStreamのサブクラスがこのメソッドをオーバーライドすることがあります。デフォルトでは、このメソッドはクラス記述子をオブジェクト直列化仕様に定義された形式で読み込みます。入出力エラーが発生した場合。IOExceptionデータのバイトを読み込みます。このメソッドは、有効な入力がない場合はブロックします。InputStream戻り値:読み込まれたバイト。入出力エラーが発生した場合。IOExceptionバイト配列に読み込みます。このメソッドは、入力の一部が利用できるようになるまでブロックします。バイトの長さを正確に読み込むには、java.io.DataInputStream.readFullyを使用してください。戻り値:実際に読み込まれたバイト数。bufがnullの場合。入出力エラーが発生した場合。IOExceptionブロックせずに読み込むことができるバイト数を返します。InputStream戻り値:読込み可能なバイト数。IOException入力ストリームを閉じます。ストリームに関連するすべてのリソースを解放するために呼び出す必要があります。入出力エラーが発生した場合。IOExceptionbooleanを読み込みます。DataInput戻り値:読み込まれるboolean値。ファイルの終わりに達した場合。ほかの入出力エラーが発生した場合。IOException8ビットのバイトを読み込みます。DataInput戻り値:読み込まれる8ビットのバイト値。ファイルの終わりに達した場合。ほかの入出力エラーが発生した場合。IOException符号なし8ビット・バイトを読み込みます。DataInput戻り値:読み込まれる8ビットのバイト値。ファイルの終わりに達した場合。ほかの入出力エラーが発生した場合。IOException16ビットのcharを読み込みます。DataInput戻り値:読み込まれる16ビットのchar値。ファイルの終わりに達した場合。ほかの入出力エラーが発生した場合。IOException16ビットのshortを読み込みます。DataInput戻り値:読み込まれる16ビットのshort値。ファイルの終わりに達した場合。ほかの入出力エラーが発生した場合。IOException符号なし16ビットのshortを読み込みます。DataInput戻り値:読み込まれる16ビットのshort値。ファイルの終わりに達した場合。ほかの入出力エラーが発生した場合。IOException32ビットのintを読み込みます。DataInput戻り値:読み込まれる32ビットのint値。ファイルの終わりに達した場合。ほかの入出力エラーが発生した場合。IOException64ビットのlongを読み込みます。DataInput戻り値:読み込まれる64ビットのlong値。ファイルの終わりに達した場合。ほかの入出力エラーが発生した場合。IOException32ビットのfloatを読み込みます。DataInput戻り値:読み込まれる32ビットのfloat値。ファイルの終わりに達した場合。ほかの入出力エラーが発生した場合。IOException64ビットのdoubleを読み込みます。DataInput戻り値:読み込まれる64ビットのdouble値。ファイルの終わりに達した場合。ほかの入出力エラーが発生した場合。IOExceptionバイトを読み込みます。すべてのバイトが読み込まれるまでブロックします。bufがnullである場合。ファイルの終わりに達した場合。ほかの入出力エラーが発生した場合。IOExceptionバイトを読み込みます。すべてのバイトが読み込まれるまでブロックします。bufがnullである場合。ファイルの終わりに達した場合。ほかの入出力エラーが発生した場合。IOExceptionバイトをスキップします。戻り値:実際にスキップされたバイト数。入出力エラーが発生した場合。IOException非推奨。このメソッドはバイトを正確に文字に変換しません。詳細および代替メソッドについてはDataInputStreamを参照してください。\n、\r、\r\n、またはEOFで終了する行を読み込みます。DataInput戻り値:行の文字列のコピー。IOException修正UTF-8形式の文字列を読み込みます。DataInput戻り値:文字列。getObjectInputFilter()このストリームの直列化フィルタを返します。直列化フィルタは、setObjectInputFilterの最新のフィルタ・セットまたはObjectInputFilter.Config.getSerialFilterの初期プロセス全体のフィルタです。filter)ストリームの直列化フィルタを設定します。フィルタcheckInputメソッドは、ストリーム内の各クラスおよび参照に対して呼び出されます。フィルタは、クラス、配列の長さ、参照の数、グラフの深さ、および入力ストリームのサイズのいずれかまたはすべてをチェックできます。深さは、直列化復元されるグラフのルートの読み込みから始まり、現在のオブジェクトを直列化復元しているネストされたreadObject呼び出しの数です。参照の数は、現在のオブジェクトが読み込まれていることを含めて、ストリームからすでに読み込まれたオブジェクトへの参照および累積数です。このフィルタは、ストリームからオブジェクトを読み込むときとプリミティブでないときにのみ呼び出されます。フィルタがStatus.REJECTED、nullを返すか、RuntimeExceptionをスローすると、アクティブなreadObjectまたはreadUnsharedがInvalidClassExceptionをスローします。ない場合は、直列化復元は中断されません。ObjectInputStreamが構築されたときに、直列化フィルタはObjectInputFilter.Config.getSerialFilterの値に初期化され、カスタム・フィルタに一度しか設定できません。実装要件:ストリーム内の各オブジェクト(レギュラまたはクラス)に対して、nullではなく、フィルタがreadObjectおよびreadUnsharedの間に呼び出されます。文字列はプリミティブとして扱われ、フィルタは呼び出されません。