mercredi 3 juin 2015

Programm im Jar-Format funktioniert nicht richtig

Hallo,

ich habe ein sehr seltsames Problem mit meinem Programm :(.

Das Programm soll Bild-datein bzw. (.dds) Dateien austauschen, hierzu mal ein kleiner ausschnitt aus dem Code, dazu möchte ich noch sagen, dass der Fehler(meiner Meinung nach) nicht am Quellcode selbst liegt, deshalb schreibe ich erst einmal weiter.

wird Button1 gedrückt, wird im Ordner eine Datei ui_gadgets.dds gelöscht und die Datei ui_gadgets.dds erstellt, die diese dann ersetzt. ( ja, ich weis das es sich um die selben Dateien handelt, dass muss für mein Programm aber so sein).

wird der Button2 gedrückt, wird im Ordner die Date ui_gadgets.dds gelöscht und die Datei ui_gadgets1.dds im Ordner unter dem Namen ui_gadgets.dds gespeichert.

Im Grunde soll das Programm nur Bilder erseten...

Starte ich jetzt das Programm per Eclipse funktioniert es ohne Probleme,
ich kann per GUI bestimmen welches Bild ins Ziel Verzeichnis kopiert werden soll und dort den Platz der ui_gadgets.dds einnehmen soll. !!!

Konvertiere ich das Programm ins Jar Format startet es genau wie in Eclipse, wähle ich nun Button2 sollte die ui_gadgets.dds durch die ui_gadgets1.dds ausgetauscht werden und unter dem Namen ui_gadgets.dds gespeichert werden, genau so funktioniert es auch, WENN ich es per Eclipse starte.

Wenn ich genau das selbe per Jar Datei mache löscht es einfach die ui_gadgets.dds aber stellt nicht die ui_gadgets1.dds her, so wie es bei eclipse funktioniert.

drücke ich nun button1 stellt es meine gelöschte ui_gadgets.dds wieder her.

das bedeutet, dass button1 das macht was er soll aber button2 nur die erste hälfte seiner Funktion(löschen der ui_gadgets.dds) ausführt, die zweite hälfte jedoch NICHT.

Ich habe jetzt mehrere Stunden mit der Fehlersuche verbracht und komme einfach nicht weiter, zu male der Code des Buttons1 fast mit dem von Button2 übereinstimmt. Warum funktioniert der Button2 dann nur zur hälfte ?

Darüberhinaus möchte ich noch einmal Betonen das, dass Programm in vollem Umfang mit dem selben Code beim starten per Eclipse funktioniert.

Java Code:

  1.  
  2. if (e.getSource() == button1){
  3. infoBox();
  4.  
  5. File file = new File( eingabe+ "/Mount & Blade With Fire and Sword/Textures/ui_gadgets.dds");
  6.  
  7. if(file.exists()){
  8. file.delete();
  9. }
  10.  
  11.  
  12.  
  13.  
  14.  
  15. Path source = Paths.get("ui_gadgets.dds");
  16. Path destination = Paths.get( eingabe+ "/Mount & Blade With Fire and Sword/Textures/ui_gadgets.dds");
  17. try {
  18. Files.copy(source, destination);
  19. } catch (IOException e1) {
  20.  
  21. //e1.printStackTrace();
  22. }
  23.  
  24.  
  25. }
  26. if (e.getSource() == button2){
  27. infoBox();
  28.  
  29.  
  30. File file = new File( eingabe+ "/Mount & Blade With Fire and Sword/Textures/ui_gadgets.dds");
  31.  
  32. if(file.exists()){
  33. file.delete();
  34. }
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41. Path source = Paths.get("ui_gadgets1.dds");
  42. Path destination = Paths.get( eingabe+ "/Mount & Blade With Fire and Sword/Textures/ui_gadgets.dds");
  43. try {
  44. Files.copy(source, destination);
  45. } catch (IOException e1) {
  46.  
  47. //e1.printStackTrace();
  48. }
  49. }


Entschuldigung für den langen Post, ich weis aber nicht wie ich mein Problem anders darlegen kann

MfG.

Java Novize

Edit:

mir ist gerade noch eingefallen, dass die ui_gadgets1.dds insgesamt 278kb groß ist und die ui_gadgets.dds nur 68 kb, kann das der Grund sein warum Button1 funktioniert und Button2 nur teilweise?


Programm im Jar-Format funktioniert nicht richtig

0 commentaires:

Enregistrer un commentaire