Properties

Properties

Properties类是Java中一个常用的类,主要用于读取和写入配置文件,以及管理应用程序中的属性。该类提供了一组方法,可以用来读取和写入键值对,其中键和值都是字符串类型。下面是一些Properties类的常用用法:

  1. 读取配置文件:

Properties类可以读取各种配置文件,包括.properties文件、.xml文件等。假设有一个名为config.properties的文件,其中包含了如下内容:

username=admin
password=123456

可以使用Properties类读取这个配置文件:

Properties prop = new Properties();
try (InputStream input = new FileInputStream("config.properties")) {
    prop.load(input);
    String username = prop.getProperty("username");
    String password = prop.getProperty("password");
    System.out.println("username = " + username);
    System.out.println("password = " + password);
} catch (IOException ex) {
    ex.printStackTrace();
}

上述代码使用了Java 7引入的try-with-resources语法,可以自动关闭输入流。load()方法将配置文件中的键值对加载到Properties对象中,getProperty()方法根据键获取对应的值。

2.写入配置文件:

Properties类也可以将键值对写入到配置文件中。假设要将上述的配置写入到config.properties文件中,可以使用如下代码:

Properties prop = new Properties();
try (OutputStream output = new FileOutputStream("config.properties")) {
    prop.setProperty("username", "admin");
    prop.setProperty("password", "123456");
    prop.store(output, null);
} catch (IOException ex) {
    ex.printStackTrace();
}

除此之外,Properties类还提供了许多其他方法,如loadFromXML()、storeToXML()等,可以用来读取和写入XML格式的配置文件。总之,Properties类是一个非常实用的类,在Java应用程序中经常被用来读取和写入配置文件,管理应用程序中的属性。

getProperty()方法

Properties类中的getProperty()方法用于获取指定键对应的值。该方法的语法如下:

public String getProperty(String key)

其中,key参数表示要获取值的键名。如果该键名在Properties对象中存在,则返回该键对应的值,否则返回null。

需要注意的是,getProperty()方法只能获取字符串类型的值。如果需要获取其他类型的值,需要进行类型转换。例如,如果配置文件中存储的是一个整数,可以使用如下代码将其转换为int类型:

int port = Integer.parseInt(prop.getProperty("port"));

Properties类中的getProperty()方法获取指定键对应的值,并在键不存在时设置默认值

public String getProperty(String key, String defaultValue)

其中,key参数表示要获取值的键名;defaultValue参数表示键不存在时的默认值。

例如,假设有一个名为config.properties的配置文件,其中包含如下内容:

  • task.cron=0 0 0/1 * * ?

可以使用如下代码获取任务计划的cron表达式:

Properties prop = new Properties();
try (InputStream input = new FileInputStream("config.properties")) {
    prop.load(input);
    String cronExpression = prop.getProperty("task.cron", "off");
    if (!cronExpression.equals("off")) {
        // 调度任务
    }
} catch (IOException ex) {
    ex.printStackTrace();
}

上述代码创建了一个Properties对象,并使用load()方法加载配置文件中的键值对。然后,使用getProperty()方法获取任务计划的cron表达式对应的值,并设置默认值为"off"。如果键不存在,则返回默认值"off"。如果获取到的cron表达式不是"off",则可以执行相应的任务调度操作。

需要注意的是,getProperty()方法只能获取字符串类型的值。如果需要获取其他类型的值,需要进行类型转换。例如,如果配置文件中存储的是一个整数,可以使用如下代码将其转换为int类型:

int port = Integer.parseInt(prop.getProperty("port", "8080"));

总之,getProperty()方法可以方便地获取指定键对应的值,并在键不存在时设置默认值。这对于处理配置文件中的缺失或错误的键非常有用。

你可能感兴趣的:(java,spring,jdk8)