How to read a directory from the runtime classpath?

后端 未结 3 1876
后悔当初
后悔当初 2021-01-04 08:51

My Java application needs to be able to find a myconfig/ directory which will be bundled inside the same JAR:

myjar.jar/
    com/
        me/
           


        
3条回答
  •  既然无缘
    2021-01-04 09:25

    You can use the PathMatchingResourcePatternResolver provided by Spring.

    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();
                ...
            }
        }
    }
    

    I didn't do anything fancy with the returned Resource but you get the picture.

    Add this to your maven dependency (if using maven):

    
        org.springframework
        spring-core
        3.1.2.RELEASE
    
    

提交回复
热议问题