Java 中的属性文件
 
Java 中的属性是我们需要在 Java 应用程序中使用的配置值。
属性文件是在键值对中包含这些值的文件。这种类型的文件通常具有 .properties 扩展名。
在 Java 属性文件中创建和设置值
在本教程的第一部分,我们编写了一个程序来创建一个属性文件,然后将属性设置为键值对。
Java 为我们提供了 java.util 包的 Properties 类,其中包含几个方法来执行设置或删除属性、列出所有属性等操作。
在我们继续设置属性之前,我们需要从它所在的目录中获取文件属性,如果它不存在,我们创建一个新文件。我们创建一个 FileOutputStream() 对象,并在其构造函数中传递属性文件的路径,该构造函数返回一个 OutputStream 实例。
我们使用 new Properties() 创建一个 Properties 对象并调用 setProperty() 方法来设置文件中的属性值。setProperty() 方法有两个参数,第一个是键,第二个是值。
在示例中,我们设置了三个属性,最后将属性存储在文件中,我们调用 store() 方法将 outputStream 和可选注释作为参数传递。应该创建属性文件并在其中插入属性。
import java.io.*;
import java.util.Properties;
public class JavaExample {
  public static void main(String[] args) {
    try {
      OutputStream outputStream = new FileOutputStream("myConfigs.properties");
      Properties properties = new Properties();
      properties.setProperty("version", "1.1");
      properties.setProperty("projectName", "PropertiesFileExample");
      properties.setProperty("date", "2021/12/27");
      properties.store(outputStream, "Properties are stored here");
      System.out.println(properties);
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}
输出:
{date=2021/12/27, projectName=PropertiesFileExample, version=1.1}
myConfigs.properties 文件:
#Properties are stored here
#Mon Dec 27 16 : 52 : 38 IST 2021
date = 2021 / 12 / 27 projectName = PropertiesFileExample version = 1.1
从 Java 属性文件中获取属性
本节使用 Properties 类及其方法从属性文件中提供特定属性。与前面的示例不同,我们使用 InputStream 而不是 OutputStream,因为我们在此程序中读取文件。
我们创建一个 Properties 类的对象,调用 load() 方法,并将 InputStream 对象作为其参数传递。加载文件后,我们调用 getProperty() 函数并传递我们要获取的值的键。
我们得到值作为我们在输出中打印的结果。
import java.io.*;
import java.util.Properties;
public class JavaExample {
  public static void main(String[] args) {
    try {
      InputStream inputStream = new FileInputStream("myConfigs.properties");
      Properties properties = new Properties();
      properties.load(inputStream);
      System.out.println(properties.getProperty("date"));
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}
输出:
2021/12/27
从 Java 属性文件中获取所有键和值
list() 是 Properties 类的函数,用于将属性打印到输出流。我们在程序中读取属性文件,创建一个 Properties 对象,并使用 load() 函数加载文件。
要打印属性,我们调用 list() 方法并将 System.out 作为参数传递,该参数是在控制台上打印的输出流。
import java.io.*;
import java.util.Properties;
public class JavaExample {
  public static void main(String[] args) {
    try {
      InputStream inputStream = new FileInputStream("myConfigs.properties");
      Properties properties = new Properties();
      properties.load(inputStream);
      properties.list(System.out);
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}
输出:
-- listing properties --
date=2021/12/27
projectName=PropertiesFileExample
version=1.1
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn