具有相同多个键的read.txt(properties)文件-java
用简单的java术语来说,在不使用任何其他库(apache)的情况下,我如何阅读以下几行:具有相同多个键的read.txt(properties)文件-java,java,Java,用简单的java术语来说,在不使用任何其他库(apache)的情况下,我如何阅读以下几行: data.txt CheckUpdate: 110 CheckTechNotes: 11 CheckUpdate: 220 CheckTechNotes: 21 CheckUpdate: 330 CheckTechNotes: 31 使用以下代码: public class PropertiesFile { public static
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();
}
}
}
}
}
公共类属性文件{
公共静态void main(字符串[]args){
Properties prop=新属性();
InputStream输入=null;
试一试{
输入=新文件输入流(“data.txt”);
道具载荷(输入);
枚举e=prop.propertyNames();
而(e.hasMoreElements()){
System.out.println(prop.getProperty(“CheckUpdate”);
}
}捕获(IOEX异常){
例如printStackTrace();
}最后{
如果(输入!=null){
试一试{
input.close();
}捕获(IOE异常){
e、 printStackTrace();
}
}
}
}
}
始终返回330,如何获得110、220和330值
注意:这就像一个文件中有3个员工详细信息一样,我如何读取这3个员工对象?
请建议
感谢属性文件包含一组键值对,因此使用重复的键没有意义。propertyName()调用将只提供不同的键。只需使用普通的FileInputStream打开文件,然后扫描条目即可。您可以在读取
列表时添加这些属性,然后作为
myList.add(prop.getProperty(“CheckUpdate”)代码>对于此类数据,您可能希望使用结构化文件格式,如JSON,而不是平面文件格式,如properties。有许多实用程序库可用于反序列化数据,如gson。这就是我目前正在做的事情?但实际文件包含近50000行,因此检查读取数据的有效方法。。。