gpt4 book ai didi

java - JApplet写入文本文件,destroy()/stop()

转载 作者:行者123 更新时间:2023-12-02 08:20:37 25 4
gpt4 key购买 nike

我正在尝试编写一个 JApplet,它使用文本文件中的信息来加载和保存数据。我已成功让小程序加载信息,但保存似乎出现问题。我已在下面包含要保存的代码。我使用的文件名与我用来写入的文件名相同。当我运行时,该文件必须包含在 JAR 中,因为小程序会正确初始化。有什么原因导致书写不能正常工作吗?我已通过 stop() 和 destroy() 方法调用此方法。

请注意,从 eclipse 运行时,加载和保存都可以完美工作,但在 JAR 中时,只有加载可以工作,但不会保存任何内容,因此我无法更改加载数据。

理想情况下,我希望每当页面关闭或刷新时都调用此 saveLocations() 方法。

注意:mOUTputStream确实是一个PrintWriter(它曾经是一个OutputStream,我想我应该更改名称)

提前非常感谢您的帮助。


private void saveLocations() throws IOException {
//JOptionPane.showMessageDialog(null, "Alert", "Saving", JOptionPane.INFORMATION_MESSAGE);
// System.out.println("saving!");
try {
mOutputStream = new PrintWriter(new File(getClass().getResource("/listings/saveData.txt").toURI()));
}
catch (URISyntaxException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

//System.out.println(locations.size());
for (Location l : locations) {
System.out.println("r: " + l.getRawListing());
mOutputStream.print(l.getRawListing()+ "\n");
}


if (mOutputStream != null)
mOutputStream.close();

}

最佳答案

您无法写入 JAR 文件内的文件——句号。甚至不要尝试。如果您需要写入文件,那么该文件必须位于 JAR 之外。对于小程序,这需要对其进行签名,并要求用户授予特定权限才能执行此操作。

在小程序的情况下,我不确定您希望写入 JAR 文件的哪个副本:浏览器缓存中的副本,还是服务器上的副本?不管怎样,这都不会发生。

关于java - JApplet写入文本文件,destroy()/stop(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5533306/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com