从txt文件中读取数据,创建对象,添加到集合中

时间:2016-10-03 02:46:48

标签: java file-io java.util.scanner

我给出了一个txt文件,其中的数据如下所示

016-023
Gallon 2% Milk
10
2.49
016-043
Saltine Crackers
20
1.49
019-011
Paper Towels
15
2.23

我需要从文本文件中读取产品数据(产品代码,说明,数量和价格)值,从产品代码,说明,数量和价格中创建Product对象,然后使用{ {1}}方法,使用addProduct()将新产品对象添加到其产品系列中。

这是我到目前为止所需的帮助,需要帮助完成ArrayList方法:

readProducts()

1 个答案:

答案 0 :(得分:1)

注意

这只是一个例子:设计是一个改进的主题。

产品类

final class Inventory {
    // …

    public void readProducts(Scanner scanner) {
        while (scanner.hasNext()) {
            final Product product = readProduct(scanner);
            products.add(product);
        }
    }

    private static Product readProduct(Scanner scanner) {
        final String productCode = scanner.nextLine();

        final String description = scanner.nextLine();

        final int quantity = scanner.nextInt();
        scanner.nextLine();

        final BigDecimal price = scanner.nextBigDecimal();
        scanner.nextLine();

        final Product product = new Product(productCode, description, quantity, price);
        return product;
    }
}

库存类

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

final class Program {
    public static void main(String[] args) throws FileNotFoundException {
        final Inventory inventory = new Inventory();
        try (final Scanner scanner = new Scanner(new File("/path/to/file"), "UTF-8")) {
            inventory.readProducts(scanner);
        }

        // Use the inventory…
    }
}

计划类

super()