Java InputStream 到 Java8 流标记化

Java InputStream to Java8 Stream tokenizing

有没有办法从文本文件中获取每个单词作为 Java8 字符串流?

例如你有 test.txt:

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod

你得到了流:

BufferedReader br = new BufferedReader(new FileReader("test.txt"));
Stream<String> s = br.lines();

并发出可以.forEach打印的单词流(以空格分隔)?

Lorem
ipsum
dolor
sit
amet,
consectetur
adipiscing
elit,
sed
do
eiusmod

假设您的单词之间用空格分隔:

    try (Stream<String> s = Files.lines(Paths.get("Your path"))
            .flatMap(Pattern.compile("\s+")::splitAsStream)) {
        s.forEach(System.out::println);
    }