• Spring Boot中如何读取resources目录下的文件


          在Java编码过程中,我们常常希望读取项目内的配置文件,按照Maven的习惯,这些文件一般放在项目的src/main/resources下。因此,我们把合同的PDF模板存放于resources/template/test.pdf,以作测试用例,下面提供两种读取方式,它们分别在windows和Linux环境(linux下jar包)都可以正常运行。

    方法一 ClassPathResource

    String pdfFilePath = "template/test.pdf";
    Resource resource = new ClassPathResource(pdfFilePath);

         通过如下方法可以转Resource换成InputStream :

    InputStream is = resource.getInputStream();

    方法二 getContextClassLoader

    InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream(pdfFilePath);

    测试用例

         public static void main(String[] args) {
            try {
                String pdfFilePath = "template/test.pdf";
                Resource resource = new ClassPathResource(pdfFilePath);
                System.out.println( resource.getURI() + " -- ****** path = ");
     
                if (resource.isReadable()) {
                    //每次都会打开一个新的流
                    InputStream is = resource.getInputStream();
                    System.out.println("方法一 " + is.available());
                }
                InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream(pdfFilePath);
                System.out.println("方法二 " + inputStream.available());
            } catch (IOException e) {
                e.printStackTrace();
            }
     
        }

           如果有其它读取的办法,欢迎留言。

  • 相关阅读:
    leetcode Remove Nth Node From End of List
    leetcode Plus One
    leetcode climbing stairs
    leetcode Merge Two Sorted Lists
    leetcode Maximum Subarray
    leetcode Binary Tree Level Order Traversal I II
    leetcode Pascal's Triangle II
    leetcode pascal's triangle
    leetcode valid parentheses
    leetcode Path Sum
  • 原文地址:https://www.cnblogs.com/east7/p/12208114.html
Copyright © 2020-2023  润新知