LibGDX 将文本文件加载到扫描仪时出现问题
LibGDX problem with loading Text File into Scanner
JAVA 计划
我最近开始使用 LibGDX 来简单克隆 "Pacman"。但是,我在将文本文件加载到扫描仪时遇到了问题。当我 运行 在 NetBeans 中玩我的游戏时,一切都很好。但是当我尝试 运行 它作为 .jar 文件时,问题就来了。
我试过使用 BufferedReader、FileReader,但 none 解决了问题...
File subor = Gdx.files.internal("HraciaPlocha/gamearea.txt").file();
Scanner sc = new Scanner(subor);
this.width = sc.nextInt() + 1; // Custom width
this.height = sc.nextInt() + 1; //Custom height
sc.nextLine();
this.arena = new Block[width][height];
for (int rows = 0; rows < this.arena.length - 1; rows++) {
for (int columns = 0; columns < this.arena[rows].length - 1; columns++) {
switch (sc.nextInt()) {
case 1:
this.arena[rows][columns] = new Bariera(lavaXSur + 32 * columns, hornaYSur + 32 * rows);
break;
case 2:
this.arena[rows][columns] = new KlasickaBodka(lavaXSur + 32 * columns, hornaYSur + 32 * riadky);
this.pridajBodku();
break;
case 3:
this.arena[rows]columns] = new Zmurzuvac(lavaXSur + 32 * columns, hornaYSur + 32 * rows);
break;
default:
this.arena[rows][columns] = null;
break;
}
}
}
sc.close();
this.spustena = true;
}
当从 .jar 文件 运行ning 时,我希望游戏能 运行 但它给了我这个错误:
mßj 09, 2019 3:31:43 PM com.rufo123.pacman.Hra create
SEVERE: null
java.io.FileNotFoundException: HraciaPlocha\gamearea.txt (System cannot find specified path)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at java.util.Scanner.<init>(Unknown Source)
at com.rufo123.pacman.GameArea.nacitajArenu(GameArea.java:54)
at com.rufo123.pacman.Hra.create(Hra.java:59)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplic
ation.java:149)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.run(LwjglApplicati
on.java:126)
Exception in thread "LWJGL Application" java.lang.NullPointerException
at com.rufo123.pacman.GameArea.renderArena(GameArea.java:93)
at com.rufo123.pacman.Hra.render(Hra.java:97)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplic
ation.java:225)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.run(LwjglApplicati
on.java:126)
如果你能帮我解决这个问题,我会很高兴。
PS。如果有什么不清楚的,就问吧。 :)
我试过和你一样的,结果也是一样的错误。
我不确定为什么会出现错误,但我是这样解决问题的:
FileHandle f = Gdx.files.internal("test/test.txt");
Scanner scanner = new Scanner(f.read());
while(scanner.hasNext()){
System.out.println(scanner.nextLine());
}
JAVA 计划
我最近开始使用 LibGDX 来简单克隆 "Pacman"。但是,我在将文本文件加载到扫描仪时遇到了问题。当我 运行 在 NetBeans 中玩我的游戏时,一切都很好。但是当我尝试 运行 它作为 .jar 文件时,问题就来了。
我试过使用 BufferedReader、FileReader,但 none 解决了问题...
File subor = Gdx.files.internal("HraciaPlocha/gamearea.txt").file();
Scanner sc = new Scanner(subor);
this.width = sc.nextInt() + 1; // Custom width
this.height = sc.nextInt() + 1; //Custom height
sc.nextLine();
this.arena = new Block[width][height];
for (int rows = 0; rows < this.arena.length - 1; rows++) {
for (int columns = 0; columns < this.arena[rows].length - 1; columns++) {
switch (sc.nextInt()) {
case 1:
this.arena[rows][columns] = new Bariera(lavaXSur + 32 * columns, hornaYSur + 32 * rows);
break;
case 2:
this.arena[rows][columns] = new KlasickaBodka(lavaXSur + 32 * columns, hornaYSur + 32 * riadky);
this.pridajBodku();
break;
case 3:
this.arena[rows]columns] = new Zmurzuvac(lavaXSur + 32 * columns, hornaYSur + 32 * rows);
break;
default:
this.arena[rows][columns] = null;
break;
}
}
}
sc.close();
this.spustena = true;
}
当从 .jar 文件 运行ning 时,我希望游戏能 运行 但它给了我这个错误:
mßj 09, 2019 3:31:43 PM com.rufo123.pacman.Hra create
SEVERE: null
java.io.FileNotFoundException: HraciaPlocha\gamearea.txt (System cannot find specified path)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at java.util.Scanner.<init>(Unknown Source)
at com.rufo123.pacman.GameArea.nacitajArenu(GameArea.java:54)
at com.rufo123.pacman.Hra.create(Hra.java:59)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplic
ation.java:149)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.run(LwjglApplicati
on.java:126)
Exception in thread "LWJGL Application" java.lang.NullPointerException
at com.rufo123.pacman.GameArea.renderArena(GameArea.java:93)
at com.rufo123.pacman.Hra.render(Hra.java:97)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplic
ation.java:225)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.run(LwjglApplicati
on.java:126)
如果你能帮我解决这个问题,我会很高兴。
PS。如果有什么不清楚的,就问吧。 :)
我试过和你一样的,结果也是一样的错误。
我不确定为什么会出现错误,但我是这样解决问题的:
FileHandle f = Gdx.files.internal("test/test.txt");
Scanner scanner = new Scanner(f.read());
while(scanner.hasNext()){
System.out.println(scanner.nextLine());
}