将文件中的键和值对加载到Properties对象中,并使用Properties.list(PrintWriter p)方法打印出所有键和值对

时间:2016-03-02 05:08:01

标签: java properties printwriter

我是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);

3 个答案:

答案 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.