繁体   English   中英

如何从外部项目目录读取资源文件?

[英]How can I read resources file from outside project directory?

如果文件位置是资源文件夹,下面的代码可以正常工作,但是当文件位置在项目目录之外时,如 (c:\file.json),它会失败。 我们如何从外部项目目录加载文件。

    @Bean
    public UserInfo readFile() {
        String fileName="prop.json";
        ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
        File file = new File(classLoader.getResource(fileName).getFile());
        try {
             UserInfo info= new ObjectMapper(new JsonFactory()).readValue(file, UserInfo.class);
        } catch (Exception e) {
            
        }
        return info;
    }

您应该创建一个实现WebMvcConfigurer的配置 class 并覆盖addResourceHadndler方法以将新资源添加到 spring 上下文。

@Configuration
@EnableWebMvc
public class MvcConfig implements WebMvcConfigurer{

    @Override
    public  void addResourceHandlers(ResourceHandlerRegistry registry) {
        
        // register you resource here
    }
    
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM