java - 为什么 Properties.list(PrintWriter out) 不打印任何内容?

标签 java properties printwriter

我是 Java 新手,正在尝试学习 Properties 类。我想出了下面的代码。我想使用不同的方法打印存储在 Properties 变量 p2 中的“键”和“值”。然而,代码

PrintWriter pw1 = new PrintWriter(System.out);
p2.list(pw1);

似乎没有打印出任何东西。为什么会发生这种情况?有人可以帮我吗?预先感谢您的帮助!

Properties p1 = new Properties();

try (OutputStream os1 = new FileOutputStream("whateverAmericaFile2.txt")){
    p1.setProperty("1", "one");
    p1.setProperty("2", "two");
    p1.setProperty("3", "three");
    p1.store(os1, "comment");
} catch(IOException e){
    e.printStackTrace();
}

Properties p2 = new Properties();
try (InputStream is1 = new FileInputStream("whateverAmericaFile2.txt")){
    p2.load(is1);
    System.out.println(p2.getProperty("2"));
} catch (IOException e){
    e.printStackTrace();
}

System.out.println("before PrintWriter");

PrintWriter pw1 = new PrintWriter(System.out);
p2.list(pw1);


System.out.println("After PrintWriter, before Enumeration ");

Enumeration<Object> eo1 = p2.elements();
while (eo1.hasMoreElements()){
    System.out.println(eo1.nextElement());
}

System.out.println("after Enumeration");

}

最佳答案

您必须在 p2.list(pw1) 之后调用 pw1.flush() 才能将缓存的文本写入控制台。

关于java - 为什么 Properties.list(PrintWriter out) 不打印任何内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35682412/

相关文章:

aes - CryptoJS 和 Java 代码的不同输出加密

java - java中的异常处理

java - 关闭嵌套流

java - 无法从 URLConnection 获取 JSON 响应

java - Vaadin - 使添加的项目可选择(和可编辑)

javascript - 在 JavaScript 中使用 "defineProperty"后重置对象属性 getter/setter

java - 如何在类(class)之间获取配置文件?

java - 如何在 JAR 文件之外读取或写入 .properties 文件

java PrintWritter 或 BufferedOutputStream 方法刷新在 Windows 2012 上不起作用

Java PrintWriter 不工作