Как считать массив из файла с помощью 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();