ClassPathResource读取classpath路径下的文件内容
在做项目的过程中,需要将一些参数写入properties文件的配置中,如何读取到properties的文件内容呢,我用到了spring core提供的类org.springframework.core.io.ClassPathResource,通过这个类,可以读取到指定classpath下路径的文件内容。
用来读取properties配置的工具类如下所示:
package com.x.certificate.properties; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; import java.util.Properties; import org.springframework.core.io.ClassPathResource; /** * 读取properties文件的配置 * @author xuhaojin * @version [版本号, 2020年3月23日] */ public class PropertiesReader { public static String getConfig(String pathInDemo, String key) throws IOException { return getProperties(pathInDemo).getProperty(key); } public static Properties getProperties(String pathInDemo) throws IOException { Properties properties = new Properties(); ClassPathResource classPathResource = new ClassPathResource(pathInDemo); File file = classPathResource.getFile(); BufferedReader bufferedReader = null; try { bufferedReader = new BufferedReader(new FileReader(file)); properties.load(bufferedReader); } catch (IOException e) { e.printStackTrace(); } return properties; } public static void main(String[] args) throws IOException { System.out.println("libreoffice.path=" + getConfig("config\\certificate.properties", "libreoffice.path")); System.out.println( "certificate.image.suffix=" + getConfig("config\\certificate.properties", "certificate.image.suffix")); } }
其中下面这两行代码获取到配置文件:
ClassPathResource classPathResource = new ClassPathResource(pathInDemo); File file = classPathResource.getFile()
配置文件的实际路径在src/test/resources的config文件夹下: