gpt4 book ai didi

java - 将具有类似映射结构文本的文件转换为实际的 HashMap

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

我下面有这个文件,每一行都有一个类似 map 的结构

sampledatamap.txt
field1=value1,  field2=value2,  field3=value3 ...
field1=value10, field2=value11, field3=value12 ...

如何使用 Java 8 流读取文件并将每一行转换为映射?预先感谢您。

最佳答案

创建一个行流,用逗号分隔每行,然后用“=”分隔并收集到 map 中。然后将 map 收集到列表中。例如:

public class Parser {

public static void main(String[] args) throws IOException {
Path path = Paths.get("sampledatamap.txt");

try(Stream<String> lines = Files.lines(path)) {
List<Map<String, String>> collect = lines
.map(Parser::toMap)
.collect(Collectors.toList());

System.out.println(collect);
}
}

static Map<String, String> toMap(String line) {
return Stream
.of(line.split(","))
.map(s -> s.split("="))
.collect(Collectors.toMap((String[] s) -> s[0], (String[] s) -> s[1]));
}
}

可能不是最干净的解决方案,但已经显示了想法。

关于java - 将具有类似映射结构文本的文件转换为实际的 HashMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58792537/

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