当前位置: 首页 > 知识库问答 >
问题:

如何从资源文件夹读取文件作为文件输入流在JAR Springboot

勾炜
2023-03-14

我试图从一个json文件中读取值,该文件直接放在我的资源文件夹中。我能够在bootrun中成功运行它,没有任何错误

 try (FileInputStream serviceAccountStream=new FileInputStream("src/main/resources/mockData.json");) {
            credentials = ServiceAccountCredentials.fromStream(serviceAccountStream);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        catch (Exception e){
            System.out.println("Issue with the credential reader"+e.getMessage());

        }

然而,当用上面的代码创建一个JAR时,我得到的异常是fileNotFound

java-jar app-0.0.1-SNAPSHOT-plain。罐子

java.io.FileNotFoundException: src\main\resources\mockData.json (The system cannot find the path specified)
        at java.io.FileInputStream.open0(Native Method)
        at java.io.FileInputStream.open(Unknown Source)
        at java.io.FileInputStream.<init>(Unknown Source)
        at java.io.FileInputStream.<init>(Unknown Source)
        at com.exampleBQ.demoBQ.BQConfig.getBQBean(BQConfig.java:31)
    ```

Could someone plz help on how to read the file as FileInputStream  within Jar

共有1个答案

薛望
2023-03-14

当您使用Springstart时,您可以使用资源抽象

尝试这样做:-

@Value("classpath:data/mockData.json")
Resource resourceFile;
 类似资料:
  • 如何从资源文件夹的子文件夹中读取文件。 我在资源文件夹中有一些json文件,例如: 现在我想在我的课堂上读到这个 这是我正在尝试的,但是失败了。 不起作用,那么我正在尝试: 这两样东西都不工作。

  • 我有一个名为的项目,它有以下结构: 所以这两个文件的路径是: 我想读测试文件。TestDataProvider中的json。JAVA 我曾经用过 我看到从URL res=getClass(). getClassLoader(). getResources("testfile.json")返回; 有人能帮我吗?

  • 问题内容: 我正在使用Spring Boot和。我正在尝试从文件夹读取一个文件。我尝试了几种不同的方法,但无法正常工作。这是我的代码。 这是文件的位置。 在这里,我可以看到文件夹中的文件。 但是,当我运行代码时,出现以下错误。 我在代码中做错了什么? 问题答案: 在花费大量时间尝试解决此问题之后,终于找到了可行的解决方案。该解决方案利用了Spring的ResourceUtils。也应该适用于jso

  • 如何使用URI从资源文件夹的子文件夹中读取文件 资源文件夹中有一些json文件,如: 现在我想在我的课堂上读这个 这是我正在尝试的。 我的东西工作正常,但我遇到的问题是我不想使用< code>toURI,因为它会失败。

  • Windows 7, x64,Java11 如何读取main中resources文件夹中的文件。 我在测试/资源方面也有类似的问题。 但对测试/资源有用的东西对java/资源不起作用。 Java-11或我的代码中发生了什么? 我试过这个 还有这个 其他例子 这也没用

  • 以下是我得到的错误: 提前感谢!