Java-将文本读取到2D数组中

问题描述 投票:0回答:1

我需要能够读取文本文件,然后将其放入2D数组中。我在这里查看的所有问题都使用ArrayLists,我们不允许这样做。我的文本文件如下所示。

Bananas, 5, 5
Apples, 5, 5
Steak, 5, 10

第一个值为名称,第二个数量和第三个价格。我想将它们放在30个项目的数组inventory[30][3]中,并具有我提到的三个特征。如果这太基础,我深表歉意。我尝试了很多Google和YouTube,找不到简单的答案。

java arrays file multidimensional-array filereader
1个回答
0
投票

这是我用来获取所需数组的代码:

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

public class ReadFileIntoArray {
    public static void main(String[] args) {
        String[][] inventory = new String[30][3];
        try {
            File myObj = new File("filename.txt");
            Scanner myReader = new Scanner(myObj);
            int i = 0;
            while (myReader.hasNextLine()) {
                String[] traits = myReader.nextLine().split(",");
                for(int j = 0; j < traits.length; j++){
                    inventory[i][j] = traits[j];
                }
                i++;
            }
            // do stuff here with inventory
            myReader.close();
        } catch (FileNotFoundException e) {
            System.out.println("An error occurred.");
            e.printStackTrace();
        }
    }
}

这里要注意的事情。

[首先是拆分,它拆分逗号上文本文件的每一行。根据文件格式的不同,您可能需要添加一个空格,以使特征上没有尾随空白:split(", ")

接下来的事情是,我遍历了traits字符串数组,这可能是过大的,因为将永远只有3个条目,但这意味着如果将来需要,可以将该数组扩展为更多的特征。

最后,最后一件事是i变量。这是跟踪循环迭代所必需的。

© www.soinside.com 2019 - 2024. All rights reserved.