文件中的每一行都有逗号分隔的数据。我需要基于逗号从每一行提取每个字段作为String并存储为属性。如何使用Java Streams实现这一目标?
Stream<String> lines = Files.lines(wiki_path);
答案 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上了解有关属性的更多信息。