使用Java 8 Stream处理大行

时间:2017-12-21 14:18:27

标签: java java-8

  1. 有没有办法通过其他分隔符读取块数据,用于字符数组[,| -_ etc]或不在单词中间的分割块,

  2. 如何跳过文本文件的特定位置(例如跳到偏移字符#10020353)

  3. 示例文件:

    text text ; text ... (very long line 100000s chars)
    text text ; text ... (very long line 100000s chars)
    text text ; text ... (very long line 100000s chars)
    text text ; text ... (very long line 100000s chars)
    

    (非常长的文件100000行)

    我有功能

    try (Stream<String> stream = Files.lines(Paths.get(fileName))) {
      stream.forEach(com.alefbt::DO_SOME_THING);
    } catch (IOException e) {
      e.printStackTrace();
    }
    

1 个答案:

答案 0 :(得分:0)

使用“,”定界符在1054ms内打印50行112000个字符的文件:

Files.lines(path).flatMap(line-> Stream.of(line.split(","))).forEach(System.out::println);