列出资源目录Jersey servlet中的所有文件

时间:2016-05-26 01:22:54

标签: java servlets jersey

我试图检索资源文​​件夹中的所有文件,以便能够在JAXB unmarshaller上使用它,但我无法找到任何可以使用的内容而不是常规版{ {1}}在java上。

我已尝试file.listFiles()并在foreach循环中使用它,但抛出了空指针。

只是指出它,上下文是泽西File files = new File(this.context.getResource("/WEB-INF/folder").getPath());注入变量。

@Update

好的,我现在正在使用@Context ServletContext context并将每个路径转换为uri而不是文件。

getResourcePaths

比tomcat给我一个错误,它说文件Set<String> catalogosPath = this.context.getResourcePaths("/WEB-INF/catalogos/"); for(String catalogoPath : catalogosPath){ URI uri = context.getResource(catalogoPath).toURI(); File arquivo = new File(uri.getPath()); tempCat = (Catalogo) jaxbUnmarshaller.unmarshal(arquivo); catalogos.add(tempCat); } 不存在但存在。我试图解散它,但它让我没有找到任何文件。我可能会误解getresourcepaths的返回,它给了我一个网址,我正在转换它吗?

1 个答案:

答案 0 :(得分:-1)

您可以在servlet中使用context.getRealPath("/")来获取项目的基本路径。要获取文件列表,只需附加相对于项目路径的文件路径,例如context.getRealPath("/") + "/WEB-INF/classes/folder