オブジェクトのシリアライズとデシリアライズ
オブジェクトと呼ばれるバイトのシリアル化されたオブジェクトのシーケンスを変換、シリアル化//オブジェクトの状態を保存し、再度読み込むことができます
デシリアライズ、デシリアライズオブジェクトと呼ばれるバイトの復旧標的配列のためのプロセス
用途:永久にハードディスクに保存されたターゲットバイトシーケンス、ネットワークオブジェクトに送信されたバイトのシーケンス、シリアル化プロセスに渡されるオブジェクト
シリアル化するSerializableインタフェースと外部化するクラスを実装するオブジェクトのみ
直列化インタフェースは} {シリアライズマーカーインターフェイスパブリックインターフェイスであります
ExternalizableインタフェースはSerializableを継承します
オブジェクト出力ストリーム
オブジェクトのシリアル化のObjectOutputStreamクラス、オブジェクトは、出力しようとしています
// Person.javaの パッケージオブジェクト。 インポートしたjava.io.Serializable; パブリック クラス Personが実装シリアライズ{ // 序列化 / ** * * / プライベート 静的 最終 長い serialVersionUIDの= 1L; // 序列化的ID标识 公共の文字列名。 公共 int型の年齢; } // ObjectOutputStreamDemoの パッケージオブジェクト。 インポートのjava.io.File; 輸入java.io.FileNotFoundException。 輸入java.io.FileOutputStreamは、 インポートにjava.io.IOException; 輸入java.io.ObjectOutputStreamの。 パブリック クラスObjectOutputStreamDemo { 公共の 静的な 無効メイン(文字列[] args)を{ ファイルファイル = 新しいファイル( "Person.txt" ); しようと{ のFileOutputStreamのFOS = 新しいのFileOutputStream(ファイル); ObjectOutputStreamのOOS = 新しいObjectOutputStreamの(FOS); 人の人 = 新しい人(); person.name = "TKJ"。 person.age = 17 ; oos.writeObject(人)。 oos.close(); fos.close(); } キャッチ(にFileNotFoundException電子){ e.printStackTrace(); } キャッチ(IOExceptionを電子){ e.printStackTrace(); } } }
オブジェクトの入力ストリーム
ObjectInputStreamの
パッケージオブジェクト。 インポートのjava.io.File; 輸入java.io.FileNotFoundException。 輸入java.io.FileOutputStreamは、 インポートにjava.io.IOException; 輸入java.io.ObjectOutputStreamの。 パブリック クラスObjectOutputStreamDemo { 公共の 静的な 無効メイン(文字列[] args)を{//读取刚刚的人物 ファイルファイル = 新しいファイル( "Person.txt" ); しようと{ のFileOutputStreamのFOS = 新しいのFileOutputStream(ファイル); ObjectOutputStreamのOOS = 新しいですObjectOutputStreamの(FOS)。 人の人 = 新しい人(); person.name = "TKJ" 。 person.age = 17 ; oos.writeObject(人)。 oos.close(); fos.close(); } キャッチ(にFileNotFoundException電子){ e.printStackTrace(); } キャッチ(IOExceptionを電子){ e.printStackTrace(); } } }
過渡キーワード:ドメインは、標的配列の部分を表すために使用されていない、変数はシリアライズ修飾されていない、静的にはこのような役割を持っています
だから、ハードああ〜