我需要在MSWord文档管理(或任何文本文档编辑器)上实现一个Java应用程序,并且将Word文档存储在数据库或服务器等中央存储库中,许多用户将在处理文档,这需要完整版本控制。所有所做的编辑/更改都应保存在中央文档中。
我的问题是,在本地文档编辑器中打开和编辑更改后,是否可以将更改保存到中央文档(位于数据库中)?我的意思是,在访问和编辑中央文档时,我认为他们将在本地副本上执行此操作,而只是文档保存操作如何将所做的更改同步到中央副本?有没有办法通过代码来实现它,例如在保存事件触发器上?
用户在其副本中所做的所有更改都应在中央副本上进行更新。我计划在这种情况下实施类似于Google文档的工作。邀请您的宝贵建议和有用的链接(如果有)?
最佳答案
在Java中,您可以listen to the File System and get notifications when files change,因此从理论上讲,您可以使用它查看文档的编辑时间,并将其上传到服务器。
但是,您需要解决以下问题:
如果在Word打开时Java应用程序关闭/崩溃,则不会检测到任何保存,并且用户对其文档所做的更改将丢失,并且没有任何原因。
人们在编辑Word文档时始终会保存它们,以免丢失数据,但他们只希望将最终的保存作为其修订版签入。
多个用户同时编辑同一文档并覆盖彼此的更改。
静默的自动过程中,用户无法输入描述其更改的评论。
最好有一个手动签入/签出上载/下载过程,而不是尝试全部自动完成。