在java中的程序运行之间存储数据的最佳方法?

pie*_*154 7 java storage information-hiding

在Java中的程序运行之间存储数据的最佳方法是什么?我已经知道你可以使用文本文件并以这种方式存储信息,但我想知道是否有更好的方法来存储程序运行之间由程序生成的信息.

此外,有没有办法做到这一点,以保持信息安全?具体来说,我想让最终用户无法访问它.

Mic*_*rdt 6

我想知道是否有其他方式将程序生成的信息放在程序运行之间?

只需使用一个ObjectOutputStream序列化为一个文件,然后将ObjectInputStream其取回.

还有什么办法可以保证信息的安全吗?从最终用户能够访问它?

如果代码在最终用户的系统上运行,那么没有,就没有办法阻止它们获取数据 - 它甚至不值得花时间尝试以某种方式对其进行编码,因为它很容易连接调试器并检查程序的状态运行.作为一种二进制格式,Java序列化将阻止非技术用户破译它,这几乎是你所希望的最好的.

  • 不。如果加密流的应用程序在最终用户的机器上运行,那么任何类型的加密都是绝对浪费时间,因为正如我所写的,在调试模式下运行它并在它之前抢夺数据非常容易被加密(除了应用程序必须包含加密密钥这一事实)。 (2认同)

lin*_*lof 5

我自己从未使用它,但我认为这是JDK的java.util.prefs.Preferences最初设计的目的.