我当前的项目正在使用元数据文件来设置属性,而无需编译。目前我是这样设置的:
metadata.txt
[property] value <br/>
[property2] value2
File f = new File("metadata.txt");
BufferedReader in = new BufferedReader(new FileReader(f));
String variable1 = "";
String variable2 = "";
现在使用 BufferedReader 读取此文件并按特定顺序获取信息。如:
variable1 = in.readLine();
variable2 = in.readLine();
我想知道是否有更好的方法可以做到这一点而不必逐行阅读?我试图考虑使用循环,但我不确定这会如何实现,因为我想为每个属性设置不同的字符串变量。
此外,我在该程序中没有使用 GUI,因此这就是我编辑原始数据的原因。
最佳答案
而是使用java.util.Properties
API。它正是为此目的而设计的。
创建一个 filename.properties
文件,其中 key=value 条目以换行符分隔:
key1=value1
key2=value2
key3=value3
将文件放入类路径中(或将其路径添加到类路径中)并按如下方式加载:
Properties properties = new Properties();
properties.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("filename.properties"));
然后就可以通过key获取值了,如下:
String key1 = properties.getProperty("key1"); // returns value1
另请参阅:
关于java - 如何高效读取元数据文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4411240/