我可以保存文本文件而不能让用户对其进行修改吗?

时间:2019-01-13 20:24:28

标签: java file save

我正在开发一个游戏,当时我想将游戏进度保存到一个文本文件中(或者属性文件也可以),但是我想将该文件保存到玩家无法到达的地方。我当时正在考虑将其保存到程序内的源文件夹中,但无法从那里保存或加载文本文件,只能保存图像。有人可以建议如何/在何处保存游戏统计信息,而玩家不能只是进入设置文件并修改自己的分数或等级等等?

使用属性文件,我唯一的问题是保存,我需要输出流或编写器来保存它,但我无法获得

2 个答案:

答案 0 :(得分:1)

关于只读,之前被问过: create a read-only file

对于第二个,请记住,您知道文件的路径和文件名,而用户却不知道。使用“吓人的”名称保存文件,在不平凡的路径下可以保护文件一段时间,以免任何更改

答案 1 :(得分:1)

假设您的播放器的PC具有标准规格的常规硬盘,则:

如果游戏处于离线状态(并且可能稍后与服务器同步),则答案为“否”;如果您的应用程序可以访问文件,那么用户也可以;即使您对写入保存文件的数据进行加密,人们也可以对应用程序进行逆向工程并获取密钥和算法并修改文件;简单地说,您只能使其复杂化,它们访问保存文件是不可避免的。

如果只能在线玩游戏,则可以检查玩家的每项动作,并以玩家无法访问的方式保存进度;