Добрый день. Есть файл, в котором числа записаны в строчку разделенную пробелами. Когда каждое число находится на новой строчке, то считывается вот так
int[] ints = Files.lines(Paths.get("array1.txt"))
.mapToInt(Integer::parseInt).toArray();
А как считать числа из строки разделенной пробелами?
package javatalks; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; import java.util.Arrays; public class Int2D { public static void main(String[] args) throws IOException { int[][] int2D = Files.lines(Paths.get("array.txt")) .map(Int2D::parse) .toArray(int[][]::new); System.out.println(Arrays.deepToString(int2D)); } private static int[] parse(String str) { return Arrays.stream(str.split("\\s")) .mapToInt(Integer::parseInt) .toArray(); } }
array.txt
1 2 3 4 5 6 7 8 9
Вывод
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]