我有一个可能很大的文件的文件格式,其中第一行是特殊的。我想打开文件一次并将其视为一个行流,但处理第一行与所有其他行不同。其他人得到地图/收集,第一行需要被解析成一些标志。有办法吗?
这开始于:
result = Files.lines(path).map(something).collect(Collectors.toList());
除了我想转移第一行。
答案 0 :(得分:9)
如果您只打开一次文件,最简单的方法是创建BufferedReader
,获取第一行,然后流式传输其余文件:
BufferedReader reader = Files.newBufferedReader(path);
String firstLine = reader.readLine();
result = reader.lines()
.map(something)
.collect(toList());