我正在尝试通过网站 (http://www.dasolorfire.freehostia.com/) 加载属性并将其存储到属性文件中。我的目标是在游戏中编辑属性,然后保存新属性。
这里是存储代码:
URL url = new URL("http://www.dasolorfire.freehostia.com/config.properties");
prop.store(new FileOutputStream(url.getFile()), null);
问题是当我运行这个时,什么也没有发生。相反,它将其保存在 C:/驱动器中。当我使用 prop.load(url.openSream()); 时,它有效。如何使用 FileOutputStream 通过 Internet 保存文件。
如果我无法让它通过互联网工作,我如何将它保存在 jar 中?
最佳答案
How do you use
FileOutputStream
to save the file over the internet.
你不需要,除非你通过互联网安装了一个文件系统,你可以这样做,但可能不是你真正在做的事情。
要将数据发送到服务器,通常情况下,您需要与一些专门用于执行此操作的服务器进程(HTTP、FTP、SSH 等)进行对话。
例如,在您的情况下,您可能有一个作为 HTTP 服务器运行的 servlet 容器,因此请使用 HttpURLConnection
或者类似于将数据POST
发送到servlet,这将依次更新配置文件。这也为您提供了服务器端实现安全性的机会,这一点很重要,因为从客户端发送的所有内容都是可疑的,除非另有证明。
关于通过 Internet 保存 Java 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13100377/