因此,当我在eclipse中运行程序时,我可以读取和写入xml文件,但是当我将其导出为.jar时,写入不再起作用。
public void addHighscores(String naam, String score){
Document document = null;
Element root = null;
InputStream fis = getClass().getResourceAsStream("Highscores.xml");
SAXBuilder sb = new SAXBuilder();
document = sb.build(fis);
root = document.getRootElement();
fis.close();
Element player = new Element("player");
player.addContent(new Element("name").setText(naam));
player.addContent(new Element("score").setText(score));
root.addContent(player);
document.setContent(root);
FileWriter writer = new FileWriter(path);
XMLOutputter outputter = new XMLOutputter();
outputter.setFormat(Format.getPrettyFormat());
outputter.output(document, writer);
outputter.output(document, System.out);
writer.close();}
这是作家的代码。 xml文件保存在与代码相同的文件夹中,我不明白为什么它可以读取但不能写入。提前致谢
答案 0 :(得分:0)
您无法回写类路径上的jar。但是,您可以将目录添加到类路径并从该位置读取/写入XML文件。这对你来说很合适。如果这是在Tomcat中运行的Web应用程序,则默认情况下Tomcat lib
目录是类路径的一部分。所以有一件事你可以从" /myapp/conf/stuff.xml"并将myapp/conf/stuff.xml
置于lib
下。
答案 1 :(得分:0)
构建jar后,无法在类路径上编辑它。但是你可以在类路径中明确地添加路径。您可以将文件放在该路径上并从那里读取。请check this。