我想要某种包含文本的文件,有点像这样:
John.file:
Name= John
Age = 333
在我的程序中,我想以某种方式使一个人拥有这些数据,有点像:
Person p = new Person(John.file);
在文件中查找数据以便我可以添加一些好的替代方法,例如" 333"到了人的年龄变量?除非有其他选择,我还在考虑尝试使用正则表达式api!
答案 0 :(得分:4)
您可以使用属于JDK的属性文件功能来完成您要执行的操作。有关详细信息,请参阅the documentation。
Properties properties = new Properties();
try {
properties.load(new FileInputStream("/my/path/John.properties"));
} catch (IOException e) {
...
}
System.out.println(properties.getProperty("Name")); // Prints John
为完整起见,这里是/my/path/John.properties的内容。
Name=John
Age=333
答案 1 :(得分:2)
绝对使用XML。您可以使用JAXB将XML反序列化为Java类。对于像你描述的那个简单的类,这将是一个微不足道的事情。 XML看起来像:
<Person>
<Name>John</Name>
<Age>333</Age>
</Person>
答案 2 :(得分:2)
XML,JSON,自定义属性文件或您自己的解析器,可能基于Knuth-Morris-Pratt?