Also hier ist mein Problem (ich habe die anderen Antworten gelesen, aber nicht ganz verstanden).Daten lesen in einem Jar Datei (in Java) und Dateien zählen
In einer Gruppe von 4 haben wir ein Spiel in Java als ein Universitätsprojekt erstellt. Ein Teil davon ist das Erstellen einer * .jar-Datei über Ant. In GameBoardx.txt Data sind mehrere GameBoards gespeichert, wobei x die Nummer ist. Wir wollen eine davon zufällig auswählen. Jedes Mal, wenn ein GameBoard geladen wird, werden daher die Dateien im GameBoard-Verzeichnis gezählt, um eine Zufallszahl im richtigen Bereich zu erzeugen. Unser Code funktioniert einwandfrei, wenn er von Eclipse ausgeführt wird. Es kann nicht aus der * .jar-Datei ausgeführt werden und wird mit einer NullPointerException beendet.
int number = 0;
int fileCount = new File(new File("").getAbsolutePath()+"/GameBoards/").listFiles().length;
Random rand = new Random();
number = rand.nextInt(fileCount);
Diese Dateien werden später lesen Sie über die Verwendung:
static String fileName = new File("").getAbsolutePath();
static String line = null;
boolean verticalObstacles[][] = new boolean[16][17];
int currentLine = 1;
try {
FileReader fileReader = new FileReader(fileName+"/GameBoards/Board"+boardNumber+".txt");
BufferedReader bufferedReader = new BufferedReader(fileReader);
while ((line = bufferedReader.readLine()) != null){
if (currentLine <17){
for (int i=0; i<17; i++){
if (line.charAt(i) == '1'){
verticalObstacles[currentLine-1][i] = true;
} else {
verticalObstacles[currentLine-1][i] = false;
}
}
}
currentLine ++;
}
bufferedReader.close();
Der Rest des Codes arbeitet mit der * .jar-Datei und die * .txt-Dateien sind darin enthalten.
Die Lösungen, die ich gefunden habe, waren nicht gut für uns, weil der Code mit der * .jar-Datei arbeiten und nur von Eclipse starten muss, um den Test zu bestehen.
Was ist die Lösung hier zu machen in der Arbeit in beiden?
Sie sollten Ihr GameBoards-Verzeichnis mit Dateien außerhalb des Jar – Sanjeev
aufbewahren Das ist nicht anwendbar. Der Grund, warum wir aufgefordert werden, jar-Dateien zu erstellen, besteht darin, dass wir eine einzige Datei haben, die gesendet werden kann und von Personen ohne zusätzliche Arbeit verwendet werden kann. – Shadol