java - 如何高效读取元数据文件?

标签 java metadata

我当前的项目正在使用元数据文件来设置属性,而无需编译。目前我是这样设置的:

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/

相关文章:

java - 用drawstring()写入一个变量

c# - 通过元数据嵌入版本信息?

c - 对于 Eclipse CDT 项目,我需要从 Git 中遗漏什么

flash - 处理音频文件中提示点的最佳方法(来自麦克风)

node.js - 如何使用 generateProviderServiceMetadata() 与 passport-saml 一起工作

ruby - 无需 Chef 或 Knife 从 metadata.rb 生成 metadata.json

Java 中的 Java 字节数组等效项

java - 碧 Jade 报告 : multi line text field

java - 如何访问 Netbeans 7.4 中的系统颜色?

java - 如何使用replaceAll方法将双引号替换为"