package com.ydl.ydlnet.cache.diskconverter; import com.ydl.ydlnet.cache.utils.RxCacheLogUtils; import com.ydl.ydlnet.cache.utils.Utils; import java.io.*; import java.lang.reflect.Type; public class SerializableDiskConverter implements IDiskConverter { @Override public <T> T load(InputStream source, Type type) { T value = null; ObjectInputStream oin = null; try { oin = new ObjectInputStream(source); value = (T) oin.readObject(); } catch (IOException | ClassNotFoundException e) { RxCacheLogUtils.log(e); } finally { Utils.close(oin); } return value; } @Override public boolean writer(OutputStream sink, Object data) { ObjectOutputStream oos = null; try { oos = new ObjectOutputStream(sink); oos.writeObject(data); oos.flush(); return true; } catch (IOException e) { RxCacheLogUtils.log(e); } finally { Utils.close(oos); } return false; } }