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