gpt4 book ai didi

java - 在 Java 8 中读取文件以获取二维数组

转载 作者:行者123 更新时间:2023-11-29 07:35:37 26 4
gpt4 key购买 nike

<分区>

我正在尝试读取如下所示的简单文本文件:

operationName1 Value
operationName2 Value

操作名称是字符串(只有两种可能的操作),值是整数。

我的目标是将数组作为输出,如下所示:

[[1,10],[2,5]]

在指定的数组中,将operationName1转化为1,将operationName2转化为2,并取相应的值。

这是我尝试过的:

try{
Path path = Paths.get("./myFile.txt");
String[][] array = Files.lines(path)
.map(s -> s.split("\\s+", 2))
.map(a -> new String[]{a[0], a[1]})
.toArray(String[][]::new);

System.out.println(Arrays.toString(array));
}catch(IOException e){
}

我没有在这段代码中将名称更改为整数,我只是开始尝试获取一个字符串数组,我可以打印它以查看我是否正确读取文件。

我的输出看起来像这样:

[[Ljava.lang.String;@682a0b20, [Ljava.lang.String;@3d075dc0, [Ljava.lang.String;@214c265e, [Ljava.lang.String;@448139f0, [L ...

我得到的是流而不是字符串吗?

路径正确,我可以使用标准语法正常读取文件。但我真的很想了解语法以从右脚开始,因为理解它似乎很有帮助。

我的问题:您是否知道我该如何纠正这个问题,或者更好地知道我如何使用最新的语法获得预期的输出? (Java 8 如果可能?)

PS:我也看到了这个语法,但我不确定如何完成它才能得到我的结果,我不确定这会更好还是更糟(但它似乎是 Java 8)。

Files.lines(Paths.get(ClassLoader.getSystemResource("myFile.txt")
.toURI())).forEach(System.out::println);

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com