persistentimp.java

来自「著名的uncle Bob的Agile software development的」· Java 代码 · 共 52 行

JAVA
52
字号
package test;

import java.io.Serializable;
import java.io.FileOutputStream;
import java.io.ObjectOutputStream;
import java.io.FileInputStream;
import java.io.ObjectInputStream;
import java.util.AbstractList;
import java.util.Vector;

import api.StoreException;
import api.RetrieveException;

class PersistentImp implements api.PersistentImp
{
  public void store(String name, Serializable object) throws StoreException
  {
    try
    {
      FileOutputStream f = new FileOutputStream(name);
      ObjectOutputStream s = new ObjectOutputStream(f);
      s.writeObject(object);
    }
    catch(Exception e)
    {
      throw new StoreException();
    }
  }
  
  public Object retrieveObject(String name) throws RetrieveException
  {
    System.out.println("Key : " + name);

    try
    {
       FileInputStream in = new FileInputStream(name);
       ObjectInputStream s = new ObjectInputStream(in);
       Object obj = (Object)s.readObject();
       return obj;
    }
    catch (Exception e)
    {
      throw new RetrieveException();
    }
  }

  public AbstractList directory(String name) throws RetrieveException
  {
    return new Vector();
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?