我是Java的新手。我正在尝试将文件中的所有键和值对加载到Properties对象中,并使用Properties.list(PrintWriter p)方法打印出所有键和值对。以下是我提出的代码。
但是,当我运行代码时,IDE没有输出任何内容。为什么会这样?我做错了吗?
Properties p1 = new Properties();
InputStream is1 = new FileInputStream("File.txt");
p1.load(is1);
PrintWriter pw1 = new PrintWriter(System.out);
p1.list(pw1);
答案 0 :(得分:1)
Properties p1 = new Properties();
InputStream is1 = new FileInputStream("File.txt");
p1.load(is1);
PrintWriter pw1 = new PrintWriter(System.out);
p1.list(pw1);
pw1.flush();
pw1.close();
您需要在PrintWriter上调用flush()。
答案 1 :(得分:0)
你也可以用这种方式显示它们:
Properties p1 = new Properties();
InputStream is1 = new FileInputStream("src\\File.txt");
p1.load(is1);
for(Object key:p1.keySet())
{
System.out.println(key+"="+p1.get(key));
}
或:
System.out.println(p1.toString());
答案 2 :(得分:0)
您可以尝试以下列方式实现代码:
Properties p1 = new Properties();
InputStream is1 = new FileInputStream("File.txt");
p1.load(is1);
PrintWriter pw1 = new PrintWriter(System.out);
System.out.println("printing property values");
p1.list(pw1);
System.out.println(p1.getProperty("1"));
System.out.println(p1.getProperty("2"));
进一步为代码添加更多内容,如果您希望打印所有键和值,您还可以选择以下列方式使用枚举:
Properties p1 = new Properties();
InputStream is1 = new FileInputStream("File.txt");
p1.load(is1);
PrintWriter pw1 = new PrintWriter(System.out);
System.out.println("printing property values");
p1.list(pw1);
Enumeration<?> e = p1.propertyNames();
while (e.hasMoreElements()) {
String key = (String) e.nextElement();
String value = p1.getProperty(key);
System.out.println("Key : " + key + ", Value : " + value);
}
This will get you all the keys and respective values together on the console.