Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 存储一个;作为文件树表示;文件系统_Java_Tree_Persistence - Fatal编程技术网

Java 存储一个;作为文件树表示;文件系统

Java 存储一个;作为文件树表示;文件系统,java,tree,persistence,Java,Tree,Persistence,我用Java将文件系统表示为一个树结构(基于复合模式)-现在可能存在这样的情况:文件系统包含数百或数千个文件,并且可能有很多活动(删除、修改等)-应用程序应该能够随时将树的副本存储在文件中(例如xml)-到目前为止,我测试了XStream,它工作正常,但它为每个文件事件写入一个完整的新文件,这将在短时间内有数百个事件时降低系统速度 有人知道更好的方法吗?也许你可以把它当作版本控制系统:有一个基线,只存储更改操作。通过根据需要按顺序应用所有更改,使树处于任何特定状态。等等,是否要用XML序列化所有

我用Java将文件系统表示为一个树结构(基于复合模式)-现在可能存在这样的情况:文件系统包含数百或数千个文件,并且可能有很多活动(删除、修改等)-应用程序应该能够随时将树的副本存储在文件中(例如xml)-到目前为止,我测试了XStream,它工作正常,但它为每个文件事件写入一个完整的新文件,这将在短时间内有数百个事件时降低系统速度


有人知道更好的方法吗?

也许你可以把它当作版本控制系统:有一个基线,只存储更改操作。通过根据需要按顺序应用所有更改,使树处于任何特定状态。等等,是否要用XML序列化所有文件系统?只是一个问题。。。为什么?你在用这样的转储文件做什么?@fge-对于文件系统,我指的是由我的应用程序监视的根文件夹和一些子文件夹-而不是操作系统的整个文件系统。没有什么特别的原因。我只是从一些我知道的东西开始,并进行了测试。你有什么建议?好吧,除非我知道这个垃圾堆背后的意图,否则我不能提出任何建议。另外,原始文件系统是什么?磁盘上的文件系统?其他?@fge,该应用程序是一个用于企业目的的P2P共享工具,因此它监视可能包含文件的根文件夹和子文件夹。如果监视应用程序失败,则必须能够重新启动该应用程序并检测其间可能发生的任何新修改。为此,它需要一个可比较的版本(例如,整个树的xml转储)。