0

我需要在我的 Web 应用程序中解析一些文件。

这些文件位于我的 .war 文件顶层的目录(称为“edms”)中。当我尝试获取目录的句柄以进行处理时,由于返回的资源属于 vfszip 协议类型,因此出现错误。

例如,当我使用 MyClass.class.getResource("/edms") 时,我会返回类似“vfszip:C:/jboss/server/default/deploy/MyWar.war/edms”的内容。

如果我随后将此 URL 与 File 对象一起使用,它将失败,因为它找不到底层目录及其包含的文件。

我看过使用 Spring ResourceUtils 类,但似乎无法让他们给我我能够做到的:-

  1. 获取目录的句柄(在我的 .war 文件中)
  2. 循环遍历目录中的每个文件 - 读取和解析它的内容

有任何想法吗?

谢谢

莎拉

4

2 回答 2

0

As a hack, what happens if you just substring the protocol part of what MyClass.class.getResource("/edms") returns away, and use the rest of it in a new File(...) statement?

于 2011-10-27T10:56:42.593 回答
0

有几个可能的解决方案:

  • 一方面,升级到 Spring 3+ 应该会自动解决这个问题(对于 JBoss AS6 或更高版本使用 Spring 3.0.3+;
  • 如果你被 Spring 2.5 卡住了,那么你可以使用 Snowdrop (http://www.jboss.org/snowdrop),更具体地说是 VfsXmlWebApplicationContext(阅读这里了解详细信息。

希望这会有所帮助,马吕斯

于 2011-10-30T04:20:46.240 回答