首页 > 解决方案 > 为什么我无法从 Spring-boot 的应用程序资源目录中读取文件?

问题描述

似乎无论我做什么,我都无法从 Spring-boot 应用程序的资源目录中读取文件。

有任何想法吗?

可能是因为我调用方法来读取文件的方式吗?

@SpringBootApplication
public class DemostoreApplication {

public static void main(String[] args) throws IOException {

    SpringApplication.run(DemostoreApplication.class, args);
}

@EventListener(classes = ApplicationStartedEvent.class)
public void applicationStarted() {
    loadAFile();
}

void loadAFile(){
    InputStream inputStream = getClass().getResourceAsStream("user-data.txt");
   }
}

我可以看到有很多这样的问题,大多没有答案。我已经尝试了所有这些命题。

标签: spring-bootfile

解决方案


是的,我去回答。

/应该添加一个,表示相对于项目的根!

否则,将在相对于类包的目录中查找该文件。愚蠢的我。

这是有效的:

InputStream is = getClass().getResourceAsStream("/user-data.txt");

推荐阅读