これは私の問題です(私は他の答えを読んでいますが、それを得られませんでした)。jarファイルのデータ読み込み(Javaの場合)
4人で、大学プロジェクトとしてJavaでゲームを作成しました。これの一部は、Antを介して* .jarファイルを作成することです。 GameBoardx.txtデータにはいくつかのGameBoardが保存されています。ここで、xは数字です。そのうちの1つをランダムに選択したい。したがって、GameBoardがロードされるたびに、正しい範囲で乱数を生成するためにGameBoardディレクトリのファイルがカウントされます。私たちのコードは、Eclipseから実行するときちんとうまく動作します。 * .jarファイルから実行されず、NullPointerExceptionで終了します。
int number = 0;
int fileCount = new File(new File("").getAbsolutePath()+"/GameBoards/").listFiles().length;
Random rand = new Random();
number = rand.nextInt(fileCount);
これらのファイルは、これを使用して、後に読み込まれます:
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();
コードの残りの部分は、* .jarファイルと連携し、* .txtファイルがそれに含まれています。
私が見つけた解決策は、* .jarファイルで動作するだけでなく、テストに合格するためEclipseから起動する必要があるため、私たちにとっては良くありませんでした。
ここで解決する方法はどちらですか?
GameBoardsディレクトリには、jar以外のファイルを保存してください。 – Sanjeev
これは適用されません。 jarファイルを作成するように求められている理由は、追加の作業をせずに人が送信して使用できる単一のファイルがあるからです。 – Shadol