gpt4 book ai didi

java - 如何访问 PrintWriter 内拆分的最后一个元素?

转载 作者:太空宇宙 更新时间:2023-11-04 09:16:23 24 4
gpt4 key购买 nike

我正在尝试访问 PrintWriter 的最后一个元素,但由于我使用的是漂亮的嵌套流,所以遇到了麻烦。我使用“,”作为分隔符,因此我们将不胜感激。

if (!Files.exists(csvFile)) {
try (Stream<String> dataLines = Files.lines(dataFile);
PrintWriter writer = new PrintWriter(Files.newBufferedWriter(csvFile, StandardOpenOption.CREATE_NEW))) {
// Append the column headers
writer.append(APPENDED_ATTR_COLS.concat("\n"));
dataLines.map((line) -> line.split(DELIMITER))
.map((line) -> String.join(DELIMITER, line))
.forEach(writer::println);
System.out.println(dataLines);
}
}

最佳答案

要访问拆分的最后一个元素,您可以将 map 操作更新为:

.map(line -> {
String[] split = line.split(DELIMITER);
return split[split.length - 1];
})

但是,那么在下一个映射操作中执行String.join就没有任何意义了。所以你可能想要寻找类似的东西:

String stringToWrite = dataLines.map(line -> {
String[] split = line.split(DELIMITER);
return split[split.length - 1]; // last word of split
}).collect(Collectors.joining(DELIMITER)); // join all such last words here
writer.println(stringToWrite); // print the complete string

关于java - 如何访问 PrintWriter 内拆分的最后一个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58924935/

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