我有大量的文件(几千个
XML文件),我需要在java中编写一个GUI,它根据每个文件的XML数据中的“Category”元素将这些文件分类为树结构.该程序可以每天运行多次,并且每天也可以对这些文件进行小的改变/添加.
如何以最小化后续执行应用程序期间的加载时间的方式保存此排序结构?不幸的是,这个程序将使用USB硬盘上的文件,所以我试图避免每次运行应用程序时解析每个XML文档以构建这个树.
例如,每个XML文件可能有多个属性(即“Person”的值为“Fred”,而“Organization”的值为“Google”),我想允许用户选择文件组基于GUI中的这些类别值.
提前感谢您提供任何和所有帮助=)
最佳答案 好的,这是你需要做的.
>创建一个SQL数据库,它将存储文件名和相关的XML树结构数据.
> MySQL是一个好的,免费的选择.
>当应用程序启动时,让它扫描目录中的文件名,并与数据库的文件名列表进行比较.
>应解析未编制索引的任何名称并将其添加到数据库中.
>生成一个新线程来浏览这些未编制索引的文件并处理它们,因此用户看不到任何延迟.
>在应用程序中包含一个名为“重新创建缓存”的按钮.
>发出警告“仅在文件发生变化时按此按钮”或其他内容
>当旧文件发生变化时,让用户告诉您的应用程序,因为它几乎不会发生.
对于选项2/3,您可以这样做:
>创建一个守护程序任务
>这将是一个保持数据库维护的独立程序
>让它监视XML目录的更改并适当地更新数据库.
>它也可以定期检查其他文件的更改,每天凌晨2点可能.