如何检查文件是否在程序之外被修改?
问题描述:
我正在写一个使用Java的基本版本控制系统,我想知道如何检查我的程序之外的文件更改。目前我已经计算出应该为该文件生成SHA-1或MD5哈希,然后对它们进行比较,但我不知道如何保存SHA-1,以便我可以在下次运行该程序时进行比较。如何检查文件是否在程序之外被修改?
该程序的工作原理如下:
java myProgram add FILENAME (only works if file has changed. Otherwise does nothing)
答
您可以保留文件的MD5哈希值,稍后检查是否有一些差异。
要在程序中保留一些内存(以可以在不丢失的情况下重新启动机器的方式),可以使用多种技术,最好的方法取决于以后如何使用此内存。 一些选择,以及如何实现:
存储在数据库 - >您可以使用Java JDBC API - >example
序列化表示数据的对象 - >Java
Serialization - >example
只需将MD5值写入文件即可。你如何以及在何处取决于你想如何管理它 – MadProgrammer 2015-03-31 04:25:31
将它保存在数据库中?属性文件?任何存储数据的东西? – 2015-03-31 04:25:46