在简单的java术语中,不使用任何其他库(apache),如何阅读下面的行:
data.txt
CheckUpdate: 110
CheckTechNotes: 11
CheckUpdate: 220
CheckTechNotes: 21
CheckUpdate: 330
CheckTechNotes: 31
在代码下方使用:
public class PropertiesFile {
public static void main(String[] args) {
Properties prop = new Properties();
InputStream input = null;
try {
input = new FileInputStream("data.txt");
prop.load(input);
Enumeration<?> e = prop.propertyNames();
while (e.hasMoreElements()) {
System.out.println(prop.getProperty("CheckUpdate"));
}
} catch (IOException ex) {
ex.printStackTrace();
} finally {
if (input != null) {
try {
input.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
总是返回330,我如何获得110,220和330的值?
注意:就像在文件中有3个员工详细信息一样,我如何阅读这3个员工对象?
请建议。
感谢
答案 0 :(得分:1)
属性文件包含一组键值对,因此重复键没有意义。 propertyName()调用将只为您提供不同的键。只需使用普通的FileInputStream打开文件,然后扫描条目。
答案 1 :(得分:0)
您可以在阅读List<String>
时添加这些属性,然后将其作为
myList.add(prop.getProperty("CheckUpdate"));
答案 2 :(得分:0)
对于此类数据,您可能希望使用结构化文件格式,例如 JSON ,而不是像属性这样的平面文件格式。有许多实用程序库可用于反序列化数据,例如gson。