我无法在java中显示属性文件的输出

时间:2017-04-15 23:44:46

标签: java javafx

我正在尝试从属性文件中读取并在文本字段中显示输出,但它只是给了我一个空白页面。我知道代码不是最好的,但我不知道另一种方式。

Double income = Double.parseDouble(totalField.getText());

Properties prop = new Properties();
InputStream input = null;

try {
    input = new FileInputStream("intput.properties");
    prop.load(input);
    if (income <= 11000) {
        taxMessage.setText(String.valueOf(Double.parseDouble(prop.getProperty("tax"))));
        montaxMessage.setText("mon tax:" + String.valueOf(Double.parseDouble(prop.getProperty("tax")) / 12));
    }
} catch(IOException ex) {
    ex.printStackTrace();
} finally {
    if (input != null) {
        try {
            input.close();
        } catch(IOException e) {
            e.printStackTrace();
        }
    }
}

1 个答案:

答案 0 :(得分:0)

您的代码看起来很好。 也许您的文件是空的?

如果该代码正在打印您的文件,您可以尝试吗?

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

public class App {
  public static void main(String[] args) {

    Properties prop = new Properties();
    InputStream input = null;

    try {

        input = new FileInputStream("input.properties");
        prop.load(input);

        // get the property value and print it out
        System.out.println(prop.getProperty("tax"));

    } catch (IOException ex) {
        ex.printStackTrace();
    } finally {
        if (input != null) {
            try {
                input.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

  }
}

空? 您可以在下面的代码中添加数据:

output = new FileOutputStream("config.properties");

// set the properties value
prop.setProperty("database", "localhost");
prop.setProperty("dbuser", "mkyong");
prop.setProperty("dbpassword", "password");

// save properties to project root folder
prop.store(output, null);

此外,我认为您可以跳过一步并使用:

taxMessage.setText(prop.getProperty("tax"));