我使用IntelliJ IDEA社区版。当我通过IDE运行我的游戏时,它可以正常工作。然后我将其导出为可运行的jar,然后它就像无法找到地图文本文件一样。我用WinRAR查看了jar,发现地图文件位于正确的位置。
这是我从地图文件中获取行的方式:
List<String> fileLines = new ArrayList<>();
try (BufferedReader br = new BufferedReader(new InputStreamReader(
Game.class.getResourceAsStream("resources/" + file)))) {
String line;
while ((line = br.readLine()) != null)
fileLines.add(line);
} catch (Exception e) {
Logger.log("Could not find map file " + file + "!", Logger.LogLevel.SEVERE);
}
该代码是方法Map.loadmap(String file)
的开头
这就是我使用它的方式:
Map map = Map.loadMap("Test.map");
map.init();
当我将这两行注释掉时,jar文件的工作方式与在IDE中运行时的程序完全相同。不是map.init()
不起作用,而是Map.loadMap()
(我调试了一点)。可能是什么问题?
修改
示例地图文件: http://pastebin.com/RMHS1Xzb