📜  在Java读写属性文件(1)

📅  最后修改于: 2023-12-03 14:51:17.947000             🧑  作者: Mango

在Java读写属性文件

在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,否则会出现乱码问题。