我正在 NetBeans 平台应用程序中实现保存/加载。我正在使用 XStream 序列化为 XML。
但是我有反序列化的问题。当我使用 ObjectInputStream 时,我以这种方式重新加载了它:
public class NBSystemClassLoaderObjectInputStream extends ObjectInputStream
{
public NBSystemClassLoaderObjectInputStream(InputStream in) throws IOException
{
super(in);
}
@Override
public Class resolveClass(ObjectStreamClass desc) throws IOException, ClassNotFoundException
{
try
{
ClassLoader currentTccl = Thread.currentThread().getContextClassLoader();
return currentTccl.loadClass(desc.getName());
} catch (Exception e)
{
}
return super.resolveClass(desc);
}
}
所以它会使用 NB Platform 的特性来寻找一个类。如何以相同的方式覆盖 XStream 类加载?