分割行流以提取逗号分隔的数据

时间:2019-04-20 18:17:11

标签: java java-stream

文件中的每一行都有逗号分隔的数据。我需要基于逗号从每一行提取每个字段作为String并存储为属性。如何使用Java Streams实现这一目标?

Stream<String> lines = Files.lines(wiki_path);

1 个答案:

答案 0 :(得分:1)

从文件中读取:

Files::lines返回一系列行Stream<String>,可能会为您带来好处。

List<String> propertyList = Files.lines(wiki_path)    // Stream<String>      
        .map(line ->line.split(";"))                  // Stream<String[]>
        .flatMap(Arrays::stream)                      // Stream<String>
        .collect(Collectors.toList());                // List<String>

结果是从文件读取的所有属性中的List用新行和;分隔符分隔。


写入属性

由于属性是基于键值原则构建的,因此每个加载的属性都需要键。假设值=键:

Properties properties = new Properties();
propertyList.forEach(property -> properties.set(property, property ));

这是一个非常原始的示例,您必须根据需要对其进行修改。在Properties上了解有关属性的更多信息。