Runnable jar无法正确读取文件

时间:2015-07-21 02:46:12

标签: java file-io intellij-idea jar

我使用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

  • 第一行:名称
  • 第二和第三行:宽度和高度
  • 休息:瓷砖(0是草,1是墙)

0 个答案:

没有答案