我的
Java应用程序需要能够找到一个将被捆绑在同一个JAR中的myconfig /目录:
myjar.jar/ com/ me/ myproject/ ConfigLoader.java --> looks for myconfig/ directory and its contents myconfig/ conf-1.xml conf.properties ... etc.
如何从运行时类路径中读取这个myconfig /目录?我做了一些研究,似乎从类路径读取文件的正常方法对于目录不起作用:
InputStream stream = ConfigLoader.class.getResourceAsStream("myconfig");
那么有没有人知道如何从运行时类路径读取整个目录(而不是单个文件)?提前致谢!
解决方法
您可以使用Spring提供的PathMatchingResourcePatternResolver.
public class SpringResourceLoader { public static void main(String[] args) throws IOException { PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); // Ant-style path matching Resource[] resources = resolver.getResources("/myconfig/**"); for (Resource resource : resources) { InputStream is = resource.getInputStream(); ... } } }
我没有对返回的资源做任何事情,但你得到的照片.
将其添加到您的maven依赖项(如果使用maven):
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>3.1.2.RELEASE</version> </dependency>