JAR funktioniert nicht richtig

Sahus

Mitglied
Hallo zusammen,

ich habe mich seit längeren mal wieder an ein Java Projekt gewagt!
Kurz zum Hintergrund, ich habe ein LUA Plugin geschrieben das mir ganz einfach Daten aus einer Datei darstellt. Diese Datei wird durch mein Java-Programm erstellt und auch aktualisiert.

So jetzt kurz zum Java Programm selbst. Es ließt ein .txt Datei ein und parst nach bestimmten Kriterien.
Wurde eine Zeile die diese Kriterien erfüllt gefunden so wird diese Zeile gesplittet und die relevanten Infos in 2 Arrays gespeichert.

Danach sortiere ich die Arrays mittels einfach Bubblesort und schreibe die sortierten Arrays dann in meine Datei.

Doch nun zum Problem.
Starte ich mein Programm direkt in NetBeans "Run Main Project" dann funkioniert auch alles super.
Die richtigen Daten werden in meine Datei geschrieben. Doch sobald ich mein Projekt builde und dann die jar Datei starte, werden null Werte in meine Datei eingetragen.
Ich habe mitlerweile rausgefunden, dass die beiden Arrays leer sind.

Hat jemand Rat? Gibt es irgendetwas was ich beim builden beachten muss?

zum Schluss noch meinen Quelltext. Dieser ist natürlich noch ausbaufähig, sprich mehrere Klassen noch erstellen, grafische Oberfläsche.....

main.java
Java:
package wuerfel;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;


public class Main {

public static void main(String[] args) throws FileNotFoundException, IOException {

    wurfelfeld e1 = new wurfelfeld();
    int i = 0;
    try {
		BufferedReader in = new BufferedReader(new FileReader("C:/Users/Sahus/Documents/The Lord of the Rings Online/Kampf_20110205_1.txt"));
		String zeile = null;
		while ((zeile = in.readLine()) != null) {
                        if (zeile.contains("würfelt")) {
                            zeile=zeile.replaceAll("!"," ");
                            String[] temp2 = zeile.split(" ");
                            e1.zahl[i] = Integer.parseInt(temp2[2]);
                            e1.name[i] = temp2[0];
                            i++;
                            


                            temp2[2] = null;
                             

                            
                            

                            
                            
                            
                        }
			
		}
	
      boolean unsortiert=true;
      int temp;
      String temp1;

      while (unsortiert){
         unsortiert = false;
         for (int b=0; b < e1.zahl.length-1; b++)
            if (e1.zahl[b] > e1.zahl[b+1]) {
               temp       = e1.zahl[b];
               temp1      = e1.name[b];
               e1.zahl[b]       = e1.zahl[b+1];
               e1.name[b]       = e1.name[b+1];
               e1.zahl[b+1]     = temp;
               e1.name[b+1]     = temp1;
               unsortiert = true;
            }
      }
      

      for (int b=0; b<e1.zahl.length; b++)
         System.out.print(e1.zahl[b]+" "+e1.name[b]+" ");




                  FileWriter fw = new FileWriter( "C:/Users/Sahus/Documents/The Lord of the Rings Online/PluginData/Sahus/AllServers/test.plugindata", false );

                  fw.write("return\n");
                  fw.flush();
                  fw.write("{\n");
                  fw.write("[\"name1\"] = \""+e1.name[11]+"\",\n");
                  fw.write("[\"zahl1\"] = \""+e1.zahl[11]+"\",\n");
                  fw.write("[\"name2\"] = \""+e1.name[10]+"\",\n");
                  fw.write("[\"zahl2\"] = \""+e1.zahl[10]+"\",\n");
                  fw.write("}\n");
                  fw.close();
    
    
    }




    catch (IOException e) {
	}

      

    }
}

wurfelfeld.java
Java:
package wuerfel;

public class wurfelfeld {

    int[] zahl = new int[12];
    String[] name = new String[12];

}

Ich hoffe ihr könnt mir irgendwie helfen.

Beste grüße

Sahus
 
Vielleicht tritt eine Exception auf die du schluckst.

MAn sollte nie einen leeren catch Block machen.

schreib zu mindest

e.printStackTrace();

int den CatchBlock und starte dann die jar neu über die CMD
 
Hey erstmal danke für deine Antwort.

Ich habe mittlerweile den Fehler glaube gefunden.

Und zwar durchsuche ich die Zeilen der eingelesenen Datei ja nach dem Wort "würfelt".
Ich habe nun rausgefunden das mein Programm mit dem deutsch Umlaut "ü" nicht klar kommt.
Daraus folgt das ich ja garkeine Zeile finde in dem das Wort "würfelt" enthalten ist. Und demnach natürlich die Arrays null,0 sind.

Gibt es eine Möglichkeit das ganze zu umgehen?

MfG
 

Neue Themen


Zurück
Oben