Je désérialisation des données en utilisant XML simples en Java, mais je reçois une exception en me disant:exception inconnue lors de la désérialisation en utilisant XML simples
protokolsimulering.model.Terminal.<init>()
Ceci est mon code de sérialisation:
public void saveSimulationState(String simulationFile) {
try{
Strategy strategy = new CycleStrategy("id", "ref");
Serializer serializer = new Persister(strategy);
File result = new File(simulationFile);
serializer.write(this.sm, result);
}
catch(Exception ex)
{
System.out.println(ex.getMessage());
}
}
public void loadSimulationState(String simulationFile) {
try {
Strategy strategy = new CycleStrategy("id", "ref");
Serializer serializer = new Persister(strategy);
File source = new File(simulationFile);
this.sm = serializer.read(Simulation.class, source);
} catch (Exception ex) {
System.out.println(ex.getLocalizedMessage());
}
}
Le code pour Terminal.java est:
package protokolsimulering.model;
import java.util.ArrayList;
import protokolsimulering.model.DataPacket.*;
public class Terminal extends Sensor {
public Terminal(int x, int y, double r) {
super(x,y,r);
learnPosition();
}
@Override
public void init() {
this.broadcast(PacketFactory.newRutePacket(this,0));
}
@Override
public void step() {
ArrayList<AbstractPacket> packetsThisStep = (ArrayList<AbstractPacket>) this.getPackages();
for(AbstractPacket p : packetsThisStep) {
if(p instanceof HalloPacket) {
// Rutningsprotokol
send(p.getSender(),PacketFactory.newRutePacket(this,0));
// Lokaliseringsprotokol
send(p.getSender(), PacketFactory.newHerPacket(this, this.getKnownPosition()));
}
}
}
}
Le code source complet peut être trouvé à l'adresse:
http://code.google.com/p/sensor-protocol-simulation/source/browse/#svn/trunk/src/protokolsimulering
affichage de la stacktrace pourrait aider –
Notez qu'il ne parvient pas à pas init() à savoir le problème est dans le constructeur –
Le chemin de pile est: null protokolsimulering.model.Terminal.() debug: BUILD RÉUSSI (temps total: 17 secondes) Et le code est fait ce: catch (Exception ex) { System.out.println (ex.getCause()); System.out.println (ex.getLocalizedMessage()); } –
utdiscant