使用 Java 8 将 CSV 文件处理为 Map<String,String[]>



我想将一个CSV文件收集到一个映射中,映射键是行(行[0](的第一个字符串,映射值是除行[0]之外的行其余部分的字符串数组。

.collect(Collectors.toMap(line->line[0],((

不确定要输入什么作为.toMap方法的第二个参数来实现这个

public Map<String,String[]> readFile() {
try {
Path path = Paths.get("src/CSV/map.csv");
BufferedReader reader = new BufferedReader(Files.newBufferedReader(path, Charset.forName("UTF-8")));
return reader.lines()
.map(line -> line.split(","))
.collect(Collectors.toMap(line ->line[0], ));
} catch (IOException e) {
throw new UncheckedIOException(e);
}

或者使用这个:

.collect(Collectors
.toMap(line -> line[0], line-> Stream.of(line).skip(1).toArray(String[]::new)));

使用Arrays.copyOfRange:

.collect(Collectors.toMap(line -> line[0], line->Arrays.copyOfRange(line, 1, line.length)));

相关内容

  • 没有找到相关文章

最新更新