exe kann .dat nicht richtig lesen/ schreiben

Hallo,
ich habe einen Konfigurator geschrieben, der unteranderem einen Veraluf enthält.
Der Veraluf wird beim Start des Programms durch das Laden von .dat Dateien erstellt, bzw.
enthält nichts, falls keine Dateien vorhanden sind. Desweiteren befinden sich die Dateien in einem Unterordner. Die Dateien sind Instanzen einer selbst geschriebenen Klasse und werden über einen ObjectInput/Output Stream geladen und gespeichert.

Nun zum eigentlichen Problem: Ich habe aus einer zuvor erzeugten jar, die funktioniert, eine exe erstellt, die auf die Dateien zugreift und diese speichert. Die exe kann zwar auf diese zugreifen, jedoch liest und speichert diese etwas "Anderes"(odner nichts) in den Dateien. Ich lade jedoch auch ein Bild aus einem Ordner, welches auch angezeigt wird.
Mit der exe erzeugte Dateien können auch nicht mit der jar geöffnet werden:
Code:
java.io.EOFException
        at java.io. ObjectInputStream$PeekInputStream.readFully(Unknown Source)
        at java.io. ObjectInputStream$BlockDataInputStream.readLong(Unknown Source)
        at java.io. ObjectInputStream.readLong(Unknown Source)
        at java.io. ObjectStreamClass.readNonProxy(Unknown Source)
        at java.io. ObjectInputStream.readClassDescriptor(Unknown Source)
        at java.io. ObjectInputStream.readNonProxyDesc(Unknown Source)
        at java.io. ObjectInputStream.readClassDesc(Unknown Source)
        at java.io. ObjectInputStream.readOrdinaryObject(Unknown Source)
        at java.io. ObjectInputStream.readObject0(Unknown Source)
        at java.io. ObjectInputStream.readObject(Unknown Source)
Danke
 
Zuletzt bearbeitet von einem Moderator:
Dass du eine End of File Exception hast, muss dir klar sein.
Warum sich die .exe anders verhält, hier ein paar Ansätze
.exe Launcher machen auch nichts anderes, als java.exe (oder javaw.exe) aufzurufen und starten damit die .jar.

Ich kann mir vorstellen, dass deine .exe auf eine andere Java-Version zugreift als die Version, auf die bei Doppelklick auf die .jar zugegriffen wird.
Möglicherweise hast du auch ein Problem mit dem Classpath.

Lass dir beim Start mal alle Dateien samt Prüfung, ob sie vorhanden sind, in eine Textdatei ausgeben, eventuell auch die verwendete Java-Version.
Stell auch sicher, dass deine Systemvariablen (Verweise auf DLLs) funktionieren.
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben