Я реализую сохранение/загрузку в приложении платформы NetBeans. И я использую XStream для сериализации в XML.Загрузка класса перегрузки в XStream
Но у меня есть проблема с десериализацией. Когда я использовал 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 возможности платформы, чтобы найти класс. Как я могу перезаписать загрузку класса XStream одинаково?
Почему существует требование продлить ObjectInputstream? Я использую XStream в сочетании с платформой NetBeans для очень похожего варианта использования, не требуя этого. –
Итак, нет необходимости использовать 'ObjectInputstream', но вопрос с ClassLoader остается – Uko