首页 > 解决方案 > 如何在spring boot中将创建的文件保存到application.properties文件中指定的路径

问题描述

我有一个方法可以在每次执行后创建新文件我不想在代码中硬编码文件路径所以我在 application.properties 文件中添加了一个新属性,例如

jmeter.jmx.path=D:\\PerformanceTesting\\JMXFiles\\

和保存值的实例变量

  @Value("${jmeter.jmx.path}")
  private String jmxPath;

想在方法中获取变量的值

public void saveAsJmxFile(HashTree projectTree, String fileName) throws IOException {
    //TODO 
    SaveService.saveTree(projectTree, new FileOutputStream(jmxPath+fileName+".jmx"));
}

它不适合我,但如果我硬编码,那么我会工作。

public void saveAsJmxFile(HashTree projectTree, String fileName) throws IOException {
          //TODO  remove hardcoded jmxPath
           SaveService.saveTree(projectTree, new 
           FileOutputStream("D:\\PerformanceTesting\\JMXFiles\\"+fileName+".jmx"));
    }

标签: javaspring-bootrestapplication.properties

解决方案


只要确保目录存在

    Files.createDirectories(Paths.get(jmxPath));

我在这里使用 java8+ nio


推荐阅读