配置文件是一种用于保存程序运行配置信息的文件。在Java程序中,经常使用properties文件来保存程序参数,它以键值对的形式存储配置信息,可读性高且易于读写。那么,怎么创建配置文件properties呢?本文从多个角度来分析这个问题。
一、手动创建properties文件
手动创建properties文件是最简单的方法,只要打开文本编辑器,然后输入配置信息即可。假设我们要保存程序端口信息,可以这样创建一个配置文件:
```
# Server port number
server.port=8080
```
其中,#表示注释,server.port=8080表示保存了服务器的端口号为8080。
保存文件时,需要将文件扩展名更改为.properties。例如,保存为server.properties。
二、使用Java代码创建properties文件
Java使用java.util.Properties类来创建和操作properties文件。下面是一个示例代码:
```java
// 创建一个Properties对象
Properties prop = new Properties();
// 设置属性名和属性值
prop.setProperty("server.port", "8080");
// 将Properties对象保存到文件中
prop.store(new FileOutputStream("server.properties"), null);
```
这段代码创建了一个Properties对象,并使用setProperty()方法设定了属性名和属性值。然后调用store()方法将Properties对象保存到文件中。如果要保存中文字符,需要将store方法的第二个参数设定为字符编码(例如:"UTF-8")。
三、读取properties文件
读取properties文件也是很容易的。Java使用java.util.Properties类来读取properties文件。下面是一个示例代码:
```java
// 加载Properties对象
Properties prop = new Properties();
prop.load(new FileInputStream("server.properties"));
// 获取属性值
String port = prop.getProperty("server.port");
System.out.println("server.port=" + port);
```
这段代码创建了一个Properties对象,并使用load()方法从文件中加载配置信息。然后使用getProperty()方法获取属性值,最后进行输出。注意,如果读取的properties文件中包含中文字符,可以在load方法中设置字符编码。
四、使用Spring Boot创建并读取properties文件
Spring Boot是基于Spring框架的快速开发框架,它内置了很多功能,其中包括读取properties文件。下面是一个示例代码:
```java
@SpringBootApplication
public class MyApp implements CommandLineRunner {
@Autowired
private Config config;
public static void main(String[] args) {
SpringApplication.run(MyApp.class, args);
}
@Override
public void run(String... args) throws Exception {
System.out.println("server.port=" + config.getServerPort());
System.out.println("database.url=" + config.getDatabaseUrl());
}
}
@ConfigurationProperties(prefix = "myapp")
class Config {
private int serverPort;
private String databaseUrl;
public int getServerPort() {
return serverPort;
}
public void setServerPort(int serverPort) {
this.serverPort = serverPort;
}
public String getDatabaseUrl() {
return databaseUrl;
}
public void setDatabaseUrl(String databaseUrl) {
this.databaseUrl = databaseUrl;
}
}
```
这段代码使用@SpringBootApplication注解表示这是一个Spring Boot应用程序,@Autowired注解用于自动装配Config对象,CommandLineRunner用于在应用程序启动后执行一些初始化操作。Config类使用@ConfigurationProperties注解表示要读取配置文件,prefix属性表示配置文件中的前缀,即myapp,这样在配置文件中就可以使用myapp.serverPort=8080来设置serverPort属性的值。
五、结论
通过本文的分析,我们了解了多种创建和读取properties文件的方法。对于Java程序来说,properties文件非常重要,它保存了程序的配置信息,可以方便地修改和查看。因此,掌握properties文件的创建和读取方法是很有必要的。