我当前的项目是使用元数据文件来设置属性而无需编译。目前我以这种方式设置它:
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();
我想知道有没有更好的方法来做到这一点,而不必逐行阅读?我试图考虑使用循环,但我不确定如何解决这个问题,因为我想为每个属性设置不同的String变量。
此外,我没有在此程序中使用GUI,因此我正在编辑原始数据。
答案 0 :(得分:0)
而是使用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"));
然后您可以按键获取值,如下所示:
String key1 = properties.getProperty("key1"); // returns value1
答案 1 :(得分:0)
我不确定这是否是这个问题的答案。
您可以使用java.util.Properties
及其方法来保存或加载文件中的属性。如果你没有做一些特殊的事情,你的元数据文件就像一个属性文件。