0

我一直在搜索堆栈溢出并尝试了多个答案,关于我的问题是,如果我从我的 IDE (eclipse) 中尝试该程序,那么它工作正常。但是当我创建 JAR 文件并尝试从那里运行它时,它根本不起作用。

到目前为止,我认为这与我如何定义我的文件有关,我觉得很奇怪,因为我把它作为类似问题的解决方案。

public class HighscoreXML {

private  String path = new File(Menu.class.getProtectionDomain().getCodeSource().getLocation().getPath()).getParentFile()+"/Highscore.xml";
private File file = new File(path);



public  ArrayList<Player> readXML(){
    ArrayList<Player> players = new ArrayList<>();      
    if (!file.exists()){
        try {
             createFile();  
        }catch (Exception ex) {
                ex.printStackTrace();
        }
    }
    else{
        SAXBuilder builder = new SAXBuilder();
        try{
            Document readDoc = builder.build(file);
            Element root = readDoc.getRootElement();

            for(Element element : root.getChildren("Player")){
                Player player = new Player("name", "0", "0");
                player.setName(element.getChildText("Name"));
                player.setScore(element.getChildText("Score"));
                player.setTime(element.getChildText("Time"));
                players.add(player);
            }
        }catch(Exception e){
            e.printStackTrace();
        }
    }

    return players;
}
      }
4

0 回答 0