2

简介:我正在开发一个系统,该系统必须授予对项目所有文件的访问权限,它必须是打开、上传和修改这些文件的接口,我决定将所有这些文件(文件)存储在档案中( zip),为了提高响应时间,我决定不解压缩然后重新压缩其所有内容,此外我决定使用java的Zip FileSystem Provider按原样修改 zip,但由于缺乏信息;当用户需要特定文件时,我只解压缩该文件以便用户可以处理它,我监视文件中的更改,然后如果我检测到任何更改,我将文件(替换)上传到 zip 中。

问题是:

由于我在将文件保存到存档时使用线程(以防止 GUI 冻结),因此即使保存另一个文件,用户也可以打开其他文件并修改它们,我希望尽可能将更改更新到存档以防止在停电的情况下丢失信息,但没有像 FileSystem.commit() 或 FileSystem.flush() 这样的方法,所以当我关闭文件系统但打开另一个文件时,更改就会发生在存档中系统花费的时间太长,在另一个文件系统初始化期间增加了我的系统丢失信息的漏洞......关于如何提交更改或始终能够保存的任何想法?

打开两个文件系统(一次作为备份以在另一个正在实例化时执行操作)也不起作用,因为它们会在短时间内更改文件的名称,但在此期间可能会尝试创建另一个实例并失败因为它找不到文件的名称...

问候...

4

0 回答 0