Как считать массив из файла с помощью Java 8?

Есть файл, в котором числа записаны в строчку, разделенную пробелами. Когда каждое число находится на новой строчке, то считывается вот так

int[] ints = Files.lines(Paths.get("array1.txt"))
 .mapToInt(Integer::parseInt).toArray();

А как считать числа из строки разделенной пробелами?


Ответы (2 шт):

Автор решения: IR42

Если имеется в виду, что в файле одна строка с числами разделёнными пробелами, то можно так:

BufferedReader br = Files.newBufferedReader(Paths.get("array1.txt"));
int[] ints = Arrays.stream(br.readLine().split(" ")).mapToInt(Integer::parseInt).toArray();

Желательно использовать с try-with-resources

→ Ссылка
Автор решения: Andrew Bystrov

Делается почти так же, только вам необходимо каждую строку сначала разделить на числа, и потом из этих чисел сформировать новый стрим и распарсить каждую строчку в число

int[] ints = Files.lines(Paths.get("array1.txt"))
        .map(line -> line.split(" "))
        .flatMap(Arrays::stream)
        .mapToInt(Integer::parseInt)
        .toArray();
→ Ссылка