java - 如何在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"));
}
解决方案
只要确保目录存在
Files.createDirectories(Paths.get(jmxPath));
我在这里使用 java8+ nio
推荐阅读
- html - Blue Prism - 查找等待加载的文档可用于 Chrome 吗?
- php - 从表中删除不会删除行
- powerapps-formula - 基于两个值的 Power Apps 库筛选器
- php - 无法使用 AJAX 获取用户名可用性
- java - 当为 Postgres DB 的属性 spring.jpa.hibernate.ddl-auto 提供更新值时,Hibernate 不会生成序列
- amazon-web-services - AWS S3 签名 URL - X-Amz-Security-Token 过期太早
- django - Docker 的 Gulp Watch 任务有什么问题?
- postgresql - PostgreSQL 是否有等效的 localdb?
- c - macOS 上的 getgroups() 不会返回所有补充组,而是只返回主要组
- docker - docker-compose 变量替换强制变量