Вы можете прочитать данные, используя Scanner
, по одной строке за раз, и сохранить числа в List
, например, ArrayList
:
import java.util.*;
import java.io.*;
public class Numbers
{
public static void main(String[] args) throws FileNotFoundException
{
Scanner data = new Scanner(new File("A.txt"));
List<List<Integer>> ints = new ArrayList<List<Integer>>();
while (data.hasNextLine()) {
List<Integer> lineInts = new ArrayList<Integer>();
Scanner lineData = new Scanner(data.nextLine());
while (lineData.hasNextInt()) {
lineInts.add(lineData.nextInt());
}
ints.add(lineInts);
}
System.out.println(ints);
}
}
Этот код открывает файл для чтения и создает двумерный ArrayList
. Внешний список содержит список для каждой строки в файле. Внутренние списки содержат целые числа в соответствующих строках. Обратите внимание, что пустые строки приводят к пустым спискам. Кроме того, вам придется правильно обрабатывать любые исключения ввода-вывода, в отличие от кода, показанного выше.
Если вы действительно хотите, чтобы целые числа в двумерном массиве вместо ArrayList
, вам придется либо вызвать toArray
, либо изменить приведенный выше код. Это оставлено в качестве упражнения для читателя.