Java-txt文档的完整性

Java-txt文档的完整性,java,Java,在一个Java程序中,我有一堆程序读写的文本文件(我知道这是实现应用程序的一种非常糟糕的方法),但我需要一些方法来确保每次程序加载时文本文件的完整性 如果文本文件被删除,程序将能够像上次一样重新创建它。有没有办法在程序执行之间存储数据但重要的是我能够更改存储的数据 (通常使用数据库,但不是atm选项) 编辑:(澄清我在寻找什么) 存在一个充满数据的文本文件 用户删除文本文件 程序检测到错误或丢失的文件,并从用户无法获得的备份中重新创建它 这就是我试图实现的过程 您无法以安全的方式在本地保存数据。

在一个Java程序中,我有一堆程序读写的文本文件(我知道这是实现应用程序的一种非常糟糕的方法),但我需要一些方法来确保每次程序加载时文本文件的完整性

如果文本文件被删除,程序将能够像上次一样重新创建它。有没有办法在程序执行之间存储数据但重要的是我能够更改存储的数据

(通常使用数据库,但不是atm选项)

编辑:(澄清我在寻找什么)

  • 存在一个充满数据的文本文件
  • 用户删除文本文件
  • 程序检测到错误或丢失的文件,并从用户无法获得的备份中重新创建它
    这就是我试图实现的过程

    您无法以安全的方式在本地保存数据。存储在用户计算机上的所有内容都由用户控制。你可以让他们跳出圈套,比如使用加密或在陌生的地方以模糊的格式存储文件,但你只会让更改文件变得不那么方便,这对于一个有决心的用户来说并非不可能


    解决这个问题的唯一方法是在线存储数据。

    如果我是你,我会选择
    对象序列化
    而不是普通文件。我不确定我是否理解这个问题。如果状态存储在文件中,如何重新创建它们?当然,这些信息已经丢失了。当程序运行时,重新创建已删除的文件应该非常容易。一旦程序关闭,所有赌注都将取消。您可以抛出一个大错误,但是数据从哪里来重新创建文件。@pars porahmad我刚刚签出,看起来很有希望,谢谢!同样,当程序运行时,这很容易。但是如果程序没有运行,并且有人删除了文件,那么重新创建文件的信息来自哪里?您不能。正如我所说,您可以检查所有文件是否存在,如果不存在,则抛出一个错误。但不能重新创建已删除的数据。您应该使用和一个嵌入式数据库,例如,以便更好地控制,但如果用户愿意,您无法阻止他们破坏东西。当然,除非您将数据存储在外部,否则请将数据通过网络或类似方式发送。您认为在用户计算机上存储文件的最佳位置是哪里我在想某种隐藏目录,我需要将它存储在mac和Windows上。@Crizly没有!“你的整个策略是有缺陷的。”克里兹利,我觉得这一切都很可疑。作为一个用户,我想知道所有的文件都在哪里,它们做什么。我不会安装一个做奇怪事情的程序。不过我是一个UNIX用户……除了数据库之外,真的没有其他方法可以做到这一点吗?-我放弃lol,就是这样。(谢谢大家提供的信息)。@Crizly本地数据库也无法避免用户操纵。数据库只不过是存储在硬盘上的组织良好的文件。