JAVAシーケンス化ストリーム(データ永続化の手段)

1399 ワード

短期的に保存されたデータを長期的に保存
データストアの分類:
  • 短期ストレージ:メモリに格納され、プログラムが閉じるにつれてオブジェクト、集合、変数、配列
  • が解放される.
  • 長期保存:ディスクに保存し、プログラムが停止してもデータが存在する---ファイル
  • シーケンス化:メモリからディスクを格納---データの長期保存(データ持続化の手段)を実現
    逆シーケンス化:ディスクからメモリを格納
    シーケンス化するには、次の手順に従います.
    任意の短期ストレージは、オブジェクトのシーケンス化によってシーケンス化できます.
  • クラス
  • を作成
  • 対応するストリームを使用して、オブジェクトをディスクファイルに保存します.シーケンス化ObjectOutputStream
  • 対応するストリームを使用してオブジェクトをディスクから取り出し、メモリに戻す---逆シーケンス化ObjectInputStream
  • .
  • 閉鎖流
  •  Serializable:

  • クラスがSerializableでシーケンス化されていない場合、例外が報告されます.
  • Serializableのインタフェースを実現するクラスが達成できる目的:
  • は、シーケンス化
  • を行うことができる.
  • シーケンス化されたクラスの要素は、シーケンス化
  • をサポートする必要があります.
  • インタフェース自体にはメソッドまたはフィールドはなく、シーケンス化可能な寓意
  • を表すために使用される.
  • 書き出し---シーケンス化
  • シーケンス化ストリームを作成し、ファイル
  • を関連付けます.
    ObjectOutputStream objectOutputStream =new ObjectOutputStream(new FileOutputStream("temp4.txt"));
        
    
  • メソッド呼び出しシーケンス化(シーケンス化されたコンテンツは直接表示できません.逆シーケンス化する必要があります)
  • .
    objectOutputStream.writeObject(new Person("bingbign",23," "));
    	
    	objectOutputStream.close();
    
  • 読み込み---逆シーケンス化
  • ObjectInputStream objectInputStream = new ObjectInputStream(new FileInputStream("temp4.txt"));
    Object object = objectInputStream.readObject();
    // 
    Person person = (Person)object;
    System.out.println(person);
    objectInputStream.close();