下面我将详细讲解“SpringBoot项目实战之加载和读取资源文件”的完整攻略。
加载资源文件
加载classpath中的资源文件
在SpringBoot项目中,我们可以使用ClassLoader来读取classpath中的资源文件,例如:
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("config.properties");
其中,config.properties为classpath中的一个配置文件,使用getClassLoader().getResourceAsStream(String path)方法即可读取指定路径下的资源文件。
加载文件系统中的资源文件
如果要读取文件系统中的资源文件,可以使用Java I/O流操作,例如:
File file = new File("C:/files/config.properties");
InputStream inputStream = new FileInputStream(file);
其中,C:/files/config.properties为文件系统中的一个配置文件,使用new FileInputStream(File file)方法即可读取指定的文件。
读取资源文件
读取properties文件
使用Spring的PropertiesLoaderUtils工具类,可以方便地读取properties文件,例如:
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("config.properties");
Properties properties = PropertiesLoaderUtils.loadProperties(new InputStreamResource(inputStream));
String value = properties.getProperty("key");
其中,key是配置文件中的一个键,使用PropertiesLoaderUtils.loadProperties(Resource resource)方法可以将配置文件读入Properties对象中,然后使用getProperty(String key)方法获取相应的值。
读取YAML文件
使用Spring的YamlPropertiesFactoryBean工具类,也可以方便地读取YAML格式的配置文件,例如:
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("config.yml");
YamlPropertiesFactoryBean yaml = new YamlPropertiesFactoryBean();
yaml.setResources(new InputStreamResource(inputStream));
Properties properties = yaml.getObject();
String value = properties.getProperty("key");
其中,config.yml是YAML格式的配置文件,使用YamlPropertiesFactoryBean.getObject()方法可以将配置文件读入Properties对象中,然后使用getProperty(String key)方法获取相应的值。
示例说明
示例1:读取classpath中的properties文件
假设有一个classpath中的配置文件config.properties,内容如下:
key=value
现在我们要在Java代码中读取这个配置文件中的值,可以使用如下代码:
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("config.properties");
Properties properties = PropertiesLoaderUtils.loadProperties(new InputStreamResource(inputStream));
String value = properties.getProperty("key");
System.out.println(value);
执行的结果会输出“value”。
示例2:读取文件系统中的YAML文件
假设有一个文件系统中的YAML格式的配置文件C:/files/config.yml,内容如下:
key: value
现在我们要在Java代码中读取这个配置文件中的值,可以使用如下代码:
File file = new File("C:/files/config.yml");
InputStream inputStream = new FileInputStream(file);
YamlPropertiesFactoryBean yaml = new YamlPropertiesFactoryBean();
yaml.setResources(new InputStreamResource(inputStream));
Properties properties = yaml.getObject();
String value = properties.getProperty("key");
System.out.println(value);
执行的结果会输出“value”。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot项目实战之加载和读取资源文件 - Python技术站