Serializacja XML

0
  1. Dlaczego poniższy program nie działa prawidłowo ?
p.java
import java.beans.*;
import java.io.*;

public class p {
  public static void main(String[] args) throws IOException {
	  XMLEncoder e = new XMLEncoder(
              new BufferedOutputStream(
                new FileOutputStream("plik.xml")));
e.writeObject(new Punkt (3,5));
e.close();	  
  }
}

Punkt.java
public class Punkt {
	public Punkt (int nx,int ny)
	{
		x = nx;
		y = ny;
	}
private int x;
private int y;
}

</i>

Błędy:
java.lang.InstantiationException: Punkt
Continuing ...
java.lang.Exception: XMLEncoder: discarding statement XMLEncoder.writeObject(Punkt);
Continuing ...

  1. Jak zainstalować bibliotekę XStream ?
    Dopisałem do zmiennej HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\CLASSPATH C:\xstream-1.3\lib\xstream-1.3.jar
    jednak polecenie import com.thoughtworks.xstream.XStream; nie działa
0

W klasie Punkt musi być konstruktor
public Punkt();// bez parametrów
Dopisz też metody getX setX getY setY.

  1. Dopisz do classpath przy wywołaniu programu.
0

Dodatkowo klasa Punkt musi implementować interfejs Serializable.

0

Dodatkowo klasa Punkt musi implementować interfejs Serializable.

Eee... chyba nie... w dawnych czasach to było obowiązkowe, ale technika poszła na przód i XMLEncoder tego nie wymaga.

0

Klasy XMLDecoder/XMLEncoder w przeciwienstwie do serializacji, sluza TYLKO do zapisywania JavaBean's. Wskazowki masz w postacyh wyzej.

1 użytkowników online, w tym zalogowanych: 0, gości: 1