Java;将 int 从文件中的字符写入数组
Java; Writing int from characters in file to an array
我需要将文件转换为 int 数组,我的源代码有严格的格式。每个单个字符对应一个 int(或字节)存储在数组中,间距分隔二维数组中的新数组。
文件将被格式化。 (x,y,z 坐标), 3 数字字符串的每个字符需要单独存储。
013 234 456 567
我想要的输出就是这样。
{0,1,3}{2,3,4}{4,5,6}{5,6,7}
是否可以直接通过文件读取方法实现,或者我必须使用扫描仪将它们作为字符串导入,而不是将数字从那里分开?
试试这个:
int[][][] array = Files.lines(Path.of("myfilename.txt"))
.map(line -> Arrays.stream(line.split(" ")) // split line into terms
.map(term -> term.chars().map(Character::getNumericValue).toArray()) // convert each term to int[]
.toArray(int[][]::new)) // convert each line to int[][]
.toArray(int[][][]::new); // convert all lines of file to a single int[][][]
我需要将文件转换为 int 数组,我的源代码有严格的格式。每个单个字符对应一个 int(或字节)存储在数组中,间距分隔二维数组中的新数组。
文件将被格式化。 (x,y,z 坐标), 3 数字字符串的每个字符需要单独存储。
013 234 456 567
我想要的输出就是这样。
{0,1,3}{2,3,4}{4,5,6}{5,6,7}
是否可以直接通过文件读取方法实现,或者我必须使用扫描仪将它们作为字符串导入,而不是将数字从那里分开?
试试这个:
int[][][] array = Files.lines(Path.of("myfilename.txt"))
.map(line -> Arrays.stream(line.split(" ")) // split line into terms
.map(term -> term.chars().map(Character::getNumericValue).toArray()) // convert each term to int[]
.toArray(int[][]::new)) // convert each line to int[][]
.toArray(int[][][]::new); // convert all lines of file to a single int[][][]