java - Spring MVC 无法从 Controller 中的资源访问文本

标签 java spring spring-mvc

我在 Spring MVC 项目的资源中创建了文本文件,并尝试在 Controller 中访问它以读取内容。但它给了我未找到异常。

    //ClassLoader classLoader = getClass().getClassLoader();
        //File file = new File(classLoader.getResource("path.txt").getFile());

        String fp=new File("").getAbsolutePath(); //Absolute path returns the ecplise location and not the project or workspace location
    //  File f=ResourceUtils.getFile("classpath:path.txt");
    //  File f = new File(getClass().getResource("path.txt").getFile());
    //  File f = new ClassPathResource("path.txt").getFile();
        // InputStream in = new FileInputStream(f);
    //  BufferedReader br=new BufferedReader(new FileReader(fp+File.separator+"/path.txt"));

最佳答案

摘自@NimChimpsky 在 similar question: 中的回答

Resource resource = new ClassPathResource("path.txt");
InputStream resourceInputStream = resource.getInputStream();

使用ClassPathResource和接口(interface)Resource 。并确保您正确添加资源目录(将 /src/main/resources/ 添加到类路径中)。

请注意,Resource 有一个获取 java.io.File 的方法,因此您也可以使用:

Resource resource = new ClassPathResource("path.txt");
FileReader fr = new FileReader(resource.getFile());

关于java - Spring MVC 无法从 Controller 中的资源访问文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52245380/

相关文章:

css - 为什么在添加标签 css 时链接在 jsp 中不起作用?

Spring security 不支持的配置属性

java - 如何持久化 java.util.Currency 之类的类?

java - Spring Security Java 配置无需强制身份验证

java - Spring Controller 是线程安全的吗

java - Spring MVC 表单 : data binding of a list of abstract class

java - Spring模板Hello world项目不起作用

java - 如何将 TreeViewer 单元格的一部分设为粗体?

java - Hibernate @BatchSize 和 JPA Criteria API

java - Spring JMS : Set ErrorHandler for @JmsListener annotated method