📅  最后修改于: 2023-12-03 14:51:17.947000             🧑  作者: Mango
在Java中,我们可以用属性文件(Properties file)来保存一些简单配置,比如数据库连接信息、系统参数等等。这些属性文件一般以.properties
为后缀名,其内容格式为key=value
,每个属性一行,可以用#
表示注释。在Java中,我们可以通过java.util.Properties
类来读写属性文件。
我们可以通过java.util.Properties.load()
方法来读取属性文件:
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;
public class ReadPropertiesFile {
public static void main(String[] args) {
Properties properties = new Properties();
FileInputStream fis = null;
try {
fis = new FileInputStream("config.properties");
properties.load(fis);
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fis != null) {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
String dbUrl = properties.getProperty("db.url");
String dbUser = properties.getProperty("db.user");
String dbPassword = properties.getProperty("db.password");
System.out.println("db.url = " + dbUrl);
System.out.println("db.user = " + dbUser);
System.out.println("db.password = " + dbPassword);
}
}
在上面的代码中,我们首先创建了一个Properties
对象,并创建了一个FileInputStream
对象来读取属性文件。最后,我们通过Properties.getProperty()
方法来获取属性值。
我们可以通过java.util.Properties.store()
方法来写入属性文件:
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;
public class WritePropertiesFile {
public static void main(String[] args) {
Properties properties = new Properties();
FileOutputStream fos = null;
try {
fos = new FileOutputStream("config.properties");
properties.setProperty("db.url", "jdbc:mysql://localhost:3306/test");
properties.setProperty("db.user", "root");
properties.setProperty("db.password", "123456");
properties.store(fos, "Database connection settings");
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fos != null) {
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
在上面的代码中,我们首先创建了一个Properties
对象,并设置了一些属性。然后,我们创建一个FileOutputStream
对象来写入属性文件,最后通过Properties.store()
方法来将属性写入文件。
在Java中读写属性文件非常简单,只需要使用java.util.Properties
类即可。需要注意的是,属性文件的编码应该使用UTF-8,否则会出现乱码问题。