如何逐行从文本文件中将变量分配到java文件中

时间:2012-09-27 22:49:22

标签: java file-io

我到目前为止的代码是:

public class Project4 {

    public static void main (String[] args) throws IOException {

        final double OUNCES_PER_POUND = 16.0;
        double pricePerPound; 
        double weightOunces; 
        double weightPounds; 
        double totalPrice; 
        String itemName; 

        Scanner fileScan = new Scanner(new File(args[0]));

        NumberFormat money = NumberFormat.getCurrencyInstance();
        DecimalFormat fmt = new DecimalFormat("0.00");

        // Missing code that reads variables from text file goes here

        weightPounds = weightOunces / OUNCES_PER_POUND;
        totalPrice = weightPounds * pricePerPound;


        System.out.println("Item: " + itemName);
        System.out.println("Unit Price: " + money.format(pricePerPound));
        System.out.println("Weight: " + fmt.format(weightPounds) + " pounds");
        System.out.println("TOTAL: " + money.format(totalPrice));
    }

}

我要做的是弄清楚如何从文本文件中提取变量。必须在命令行中将该文件声明为参数,这就是标头按原样设置的原因。文本文件基本上是我需要的三个变量,每个变量都在一个单独的行上。

我希望有人给我一个提示或指出一些关于我需要做什么来设置变量的信息,以便我可以从文本文件中声明每一行,因为它是自己的独立变量。

2 个答案:

答案 0 :(得分:1)

如果变量以最简单的格式出现,例如:

3.5
5.2
My Item

然后你可以用以下内容读取值:

weightOunces = fileScan.nextDouble();
fileScan.nextLine();
weightPounds = fileScan.nextDouble();
fileScan.nextLine();
itemName = fileScan.nextLine();
fileScan.nextLine()语句之后需要

nextDouble()来使用换行符。

答案 1 :(得分:0)

您可以将variables.txt视为属性文件。 它不需要命名.properties,你可以使用.txt就好了。 有关如何读取/写入属性文件,请参阅此链接 Reading and Writing a Properties File