搜索ZIP以获取具有散列名称的XML文件的有效方法

时间:2015-05-21 09:14:09

标签: java xml hash zip

我有一个zip文件,其中包含大量文件夹和XML文件,我想选择一个特定的文件。但该文件的名称是经过哈希处理的,因此我无法确切知道它可能是什么,因为它是由其他应用程序生成的。

ZIP files 有没有一种有效的方法来选择这个XML文件?我有这个信息:

  • 每个zip文件的文件名都是唯一的。
  • 它直接位于zip中,而不是位于任何子文件夹中。
  • 它是唯一具有散列名称的XML文件,其他文件名是已知的,但它们的数量可能会有所不同。

我试图避免将每个文件名与一些预定义的名称列表进行比较,但到目前为止,我无法想到其他任何内容。

1 个答案:

答案 0 :(得分:1)

如果文件名有模式,您可以尝试解析它并查看它是否与模式匹配。

  • 解压缩内容
  • 将您自己置于解压缩目录中
  • 创建一个解析目录的方法

    • 如果解析的当前对象是目录,则递归调用该方法
    • 如果解析的当前对象是扩展名为.xml的文件,请检查它是否与此模式匹配(如果匹配则返回true):

    filename.matches('.+\\-.+\\-.+\\-.+\\-.+);