Я пытаюсь закодировать объект, который имеет член типа INetAddress, в xml, используя класс java.beans.XMLEncoder
.К сожалению, я получаю следующее исключение:
java.lang.IllegalAccessException: класс sun.reflect.misc.Trampoline не может получить доступ к члену класса java.net.Inet4Address с модификаторами ""
Вот мой код:
public class INetAddressFoo {
private InetAddress addr;
public INetAddressFoo() {
}
public InetAddress getAddr() {
return addr;
}
public void setAddr(InetAddress addr) {
this.addr = addr;
}
}
public class Test{
public static void main() throws Exception {
INetAddressFoo foo = new INetAddressFoo();
InetAddress addr = InetAddress.getByName("localhost");
foo.setAddr(addr);
File file = new File("inet.xml");
XMLEncoder encoder = null;
try {
encoder = new XMLEncoder(new BufferedOutputStream(new FileOutputStream(file)));
encoder.writeObject(t);
} finally {
if (encoder != null) {
encoder.close();
}
}
}
}