java - 将文本文件放入二维数组

标签 java arrays multidimensional-array

我正在尝试将如下所示的文本文件存储到二维数组中。

24
7
1 6
7 15
13 17
9 23
10 21
13 19

这是我的代码,我必须存储它。没有语法错误,但我似乎无法将其存储到我的数组中。我只需要弄清楚如何将其存储到我的数组中。

        FileInputStream fStream = new FileInputStream(file);
        BufferedReader input = new BufferedReader(new InputStreamReader(fStream));
        Scanner src = new Scanner(input);
        ArrayList<Integer> lines = new ArrayList<Integer>();
        src.useDelimiter(" ");

        while(src.hasNextInt()) {
            lines.add(src.nextInt());
        }
        int[][] fileArray = new int[lines.size()][];
        lines.toArray(fileArray);

-谢谢迈克

最佳答案

尝试一下

    FileInputStream fStream = new FileInputStream(file);
    BufferedReader input = new BufferedReader(new InputStreamReader(fStream));
    Scanner src = new Scanner(input);
    ArrayList<ArrayList<Integer>> board = new ArrayList<>();

    while(src.hasNextLine())
    {
        String[] line = src.nextLine().split("\\s+");
        board.add(new ArrayList<Integer>());
        for(String num : line)
        {
            if(num.matches("\\d+"))
                board.get(board.size() - 1).add(Integer.parseInt(num));
        }
    }

    for(int i = 0; i < board.size(); i++)
    {
        for(int j = 0; j < board.get(i).size(); j++)
            System.out.print(board.get(i).get(j) + " ");

        System.out.println();
    }

关于java - 将文本文件放入二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41051203/

相关文章:

java - 如何编写比较器的 equals()

java - 运行顺序作业 Hadoop

JAVA:sqlite写几条记录后抛出异常?

java - 在 Java 中将任何日期字符串标准化为给定格式

c++ - block 密码

php - 如何在while条件下比较两个数组

arrays - Swift 中的任意矩阵或数组大小

javascript - 将等级作为对象值从最高到最低排序

java - 2D Array(Double) 排序给出 0 个值

javascript - 从多维无穷大数组中删除数组元素