我正在尝试编写一个使用文本文件中的信息来加载和保存数据的 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();
}